【发布时间】:2019-04-14 01:04:17
【问题描述】:
当外部类是模板时,如何定义嵌套类构造函数?
我尝试删除模板参数并且它有效。但是对于我正在做的事情,我需要这个价值。
我尝试使用带有和不带有-std=c++11 的g++(没有区别)。
我不想把我的代码放在头文件中,所以我没有这样尝试
#include <cstddef>
template <size_t M_SIZE=20>
class Outer{
class Inner{
Inner();
};
};
//Outer::Inner::Inner() {}
int main(){
return 0;
}
当您取消注释该行时会发生这种情况
cl.cpp:9:1: error: 'Outer' is not a class, namespace, or enumeration Outer::Inner::Inner() {} ^ cl.cpp:4:7: note: 'Outer' declared here class Outer{ ^ 1 error generated.
shell 返回 1
【问题讨论】: