草庐IT

Instantiation

全部标签

c++ - 从非实例化上下文中引用特定模板特化 : instantiation or not?

考虑下面的例子templatestructS{Aa;voidfoo(){}};templatevoidbar(){S*p=0;}templatevoidbaz(){S{}.foo();}templatevoidqux(){Ss{};}intmain(){}函数模板bar,baz和qux故意不实例化。baz的定义由于“明显”原因无法在GCC和Clang中编译-S是S的无效特化.但是,哪种语言规则适用于这种情况?一方面,S不依赖于baz的模板参数,成员访问要求它是完整的,这会触发S的实例化,失败了。诊断是必需的。另一方面,我们有一条笼统的规则“如果不能为非实例化模板生成有效的特化,则代码格

android - Cordova angular2应用程序中的"Exception: Error during instantiation of t! Primary outlet already registered."

我正在用我的项目构建一个简单的cordova应用程序。它有2层嵌套(主路由)->子路由->(另一个子路由)。尝试浏览到第2层(另一个子路由)时我收到一条错误消息:Exception:Errorduringinstantiationoft!主要socket已注册。第一级工作正常。我没有在任何模板中使用过两次路由器socket。浏览器仿真和android仿真都是一样的问题。附上下面的chromeinspect。我的HTML文件HelloWorldApacheCordovaConnectingtoDevice我的构建源代码结构:我的主要组成部分:import{Component}from'a

redis - Flink Redis 连接器 : update getCommandDescription() after instantiation

我正在使用FLinkRedisSink向Redis写入一些计数器。https://ci.apache.org/projects/flink/flink-docs-release-1.1/apis/streaming/connectors/redis.html我想为每一天创建一个HASH,但是当实例化接收器时,接收器的getCommandDescription()只会被调用一次。有没有办法让它更新?@OverridepublicRedisCommandDescriptiongetCommandDescription(){longmillis=DateTime.now(DateTimeZo

Python 类 : Inheritance vs Instantiation

我正在创建一个使用Frame()作为其基类的GUI类。在我的GUI类的init方法中,我想创建一个框架小部件现在我有:classGUIclass(Frame):def__init__(self,parent):frame=Frame(self,parent)但我在其他地方看到了第三行:Frame.__init__(self,parent)我是编程、python和继承的新手,我想知道我是否正确理解了两者之间的区别。我做了很多研究和阅读,我保证,但我找不到任何可以完全清楚的东西:在第一种情况下,我在创建一个框架对象(frame)时不调用init方法,当创建一个对象时,它的init方法由py

c++ - “In instantiation of … required from here” 是什么意思?

我收到以下编译器¹消息main.cpp:Ininstantiationof‘voidfkt(Foo)[withFoo=int]’:main.cpp:5:7:requiredfromhere无论如何都会创建二进制文件,所以这不是错误。但这也是未标记为警告。这是什么消息,为什么我会收到它?我将代码简化为以下示例templatevoidfkt(Foof){}intmain(){fkt(1);return0;}¹gcc4.7.2编辑:这里是重现的步骤:%catmain.cpptemplatevoidfkt(Foof){}intmain(){fkt(1);return0;}%g++-Wall-W

c++ - "Implicit instantiation of undefined template"前向声明模板类时

我有一些代码需要在其中前向声明一个模板类(或者至少,前向声明对我来说会让事情变得更容易......)。我已经编写了我遇到的问题的简化版本,所以我可以在这里显示它:templateclassMyTemplateClass;intmain(intargc,char*argv[]){MyTemplateClassmyTemp;//errorheremyTemp.GetTheValue();return0;}templateclassMyTemplateClass{intm_myint;floatm_myfloat;public:MyTemplateClass():m_myint(5),m_m

c++类模板特化,无需重新实现一切

我有一个这样的模板化类:templateclassA{protected:std::vectormyVector;public:/*constructors+abunchofmemberfunctionshere*/}我只想添加一个仅适用于1种给定类型T的成员函数。是否可以完全做到这一点而无需专门化该类并重新实现所有其他已经存在的方法?谢谢 最佳答案 最简单、最干净的解决方案是使用static_assert()在方法的主体中,拒绝所选类型以外的其他类型(在下面的示例中,仅接受整数):#include#includetemplatec

c++类模板特化,无需重新实现一切

我有一个这样的模板化类:templateclassA{protected:std::vectormyVector;public:/*constructors+abunchofmemberfunctionshere*/}我只想添加一个仅适用于1种给定类型T的成员函数。是否可以完全做到这一点而无需专门化该类并重新实现所有其他已经存在的方法?谢谢 最佳答案 最简单、最干净的解决方案是使用static_assert()在方法的主体中,拒绝所选类型以外的其他类型(在下面的示例中,仅接受整数):#include#includetemplatec

c++ - 如何强制 C++ 模板的特定实例实例化?

见标题。我有一个模板。我想强制实例化模板的特定实例。我该怎么做?更具体地说,你能强制一个抽象模板类实例化吗?我可能会详细说明,因为我有同样的问题。就我而言,我正在构建一个库,一些模板实现很大并且包含很多东西,但只为几种类型生成。我想在库中编译它们并导出所有方法,但不要在任何地方都包含带有代码的header。即:templateOS_EXPORT_DECLclassMyTmpl{T*item1;public:inlineT*simpleGetT(){return(item1);}/*smallinlinecodeinhere*/}T*doSomeReallyBigMergeStuff(T

c++ - 如何强制 C++ 模板的特定实例实例化?

见标题。我有一个模板。我想强制实例化模板的特定实例。我该怎么做?更具体地说,你能强制一个抽象模板类实例化吗?我可能会详细说明,因为我有同样的问题。就我而言,我正在构建一个库,一些模板实现很大并且包含很多东西,但只为几种类型生成。我想在库中编译它们并导出所有方法,但不要在任何地方都包含带有代码的header。即:templateOS_EXPORT_DECLclassMyTmpl{T*item1;public:inlineT*simpleGetT(){return(item1);}/*smallinlinecodeinhere*/}T*doSomeReallyBigMergeStuff(T