【发布时间】:2016-07-26 23:02:57
【问题描述】:
在创建一个在头文件中接受整数的模板化 C++ 类后,我发现 Eclipse 无法识别我在相应 .cpp 文件中的方法实现。
这是一个带有大小模板参数的示例类:
template <int SIZE>
class SizeableClass
{
public:
SizeableClass();
virtual ~SizeableClass();
};
我告诉 Eclipse 使用 Source => Implement Method...为我生成实现主体...
它在头文件中产生了一些内联方法。为了整洁,我将它们移到了 .cpp 文件中,并删除了 inline 限定符。我的 .cpp 文件现在看起来像这样:
template<int SIZE>
SizeableClass<>::SizeableClass()
{
}
template<int SIZE>
SizeableClass<>::~SizeableClass()
{
}
但这在“未找到成员声明”错误中以红色下划线显示。它也不会使用gcc 编译:
SizeableClass.h:2:7: error: provided for ‘template<int SIZE> class SizeableClass’
class SizeableClass
^
这有什么问题?
【问题讨论】:
-
致那些投反对票/投票结束的人:你能证明自己的合理性,以便我改进这个问题吗?
-
这是 CDT 的“实现方法”操作中的一个错误。我提交了bugs.eclipse.org/bugs/show_bug.cgi?id=510289 进行跟踪。
标签: c++ eclipse templates generics eclipse-cdt