Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模板基类初始化 在VisualC++中,下面的代码被接受,G++将生成错误: “派生类没有任何字段名基” 哪个符合标准 template <class T> class Base { public: Base(){}; }; template <class T> class Derived:public Base<T> { public: Derived():Base(){} }; 模板 阶级基础 { 公众: Base(){}; }; 模板 派生类:公共基 { 公众: 派生():基(){} };_C++_Templates_Gcc_Initialization - Fatal编程技术网

模板基类初始化 在VisualC++中,下面的代码被接受,G++将生成错误: “派生类没有任何字段名基” 哪个符合标准 template <class T> class Base { public: Base(){}; }; template <class T> class Derived:public Base<T> { public: Derived():Base(){} }; 模板 阶级基础 { 公众: Base(){}; }; 模板 派生类:公共基 { 公众: 派生():基(){} };

模板基类初始化 在VisualC++中,下面的代码被接受,G++将生成错误: “派生类没有任何字段名基” 哪个符合标准 template <class T> class Base { public: Base(){}; }; template <class T> class Derived:public Base<T> { public: Derived():Base(){} }; 模板 阶级基础 { 公众: Base(){}; }; 模板 派生类:公共基 { 公众: 派生():基(){} };,c++,templates,gcc,initialization,C++,Templates,Gcc,Initialization,顺便说一句:两者都接受 Derived():Base<T>(){} Derived():Base(){} 因此,同时,我将遵循gccMSVC++是不正确的基础是一个模板,而不是类型 请注意,在通常情况下,Base在Derived的范围内查找,这意味着它将首先找到从Base继承的注入类名,该类名引用类型Base。但是由于您有一个依赖的基类,因此找不到从base继承的名称(基类的作用域未被查看)

顺便说一句:两者都接受

Derived():Base<T>(){}
Derived():Base(){}

因此,同时,我将遵循gcc

MSVC++是不正确的<代码>基础是一个模板,而不是类型

请注意,在通常情况下,
Base
Derived
的范围内查找,这意味着它将首先找到从
Base
继承的注入类名,该类名引用类型
Base
。但是由于您有一个依赖的基类,因此找不到从
base
继承的名称(基类的作用域未被查看)