月食“;“实施方法”;函数不能与模板类一起使用 我已经使用Eclipse很长一段时间了,但我最近才用它来进行C++编程。在我的系统中,如何解决Eclipse上C++的实际编译问题是一大乐趣,但我已经得出了100%的成功,但现在我又遇到了另一个恼人的问题。我已经看到,如果我在头文件中创建一个类,我可以使用源代码菜单下名为“implementmethod”的漂亮工具,它将从头文件中获取我的函数声明,并将它们放在源文件中,其中包含一个可以编写代码的主体
今天我在处理一些新代码,我需要一个模板类来完成我的工作,但是当我尝试使用这个实现方法函数时,我发现eclipse告诉我“没有为一个或多个方法找到实现文件”,而是在头文件中创建内联函数(就像我真的需要那样!)。这是Eclipse中的bug还是有一些无法避免的基础C++规则?我只是不明白为什么我的类被定义为月食“;“实施方法”;函数不能与模板类一起使用 我已经使用Eclipse很长一段时间了,但我最近才用它来进行C++编程。在我的系统中,如何解决Eclipse上C++的实际编译问题是一大乐趣,但我已经得出了100%的成功,但现在我又遇到了另一个恼人的问题。我已经看到,如果我在头文件中创建一个类,我可以使用源代码菜单下名为“implementmethod”的漂亮工具,它将从头文件中获取我的函数声明,并将它们放在源文件中,其中包含一个可以编写代码的主体,c++,eclipse,eclipse-cdt,C++,Eclipse,Eclipse Cdt,今天我在处理一些新代码,我需要一个模板类来完成我的工作,但是当我尝试使用这个实现方法函数时,我发现eclipse告诉我“没有为一个或多个方法找到实现文件”,而是在头文件中创建内联函数(就像我真的需要那样!)。这是Eclipse中的bug还是有一些无法避免的基础C++规则?我只是不明白为什么我的类被定义为class foo{}可以很好地工作,但是有模板类foo{}导致此错误。我知道这是唯一的问题,因为如果我用一个公共函数声明一个普通类,它就可以工作,但是如果我使用相同的类并将其声明为模板类,我发现
class foo{}代码>可以很好地工作,但是有模板类foo{}代码>导致此错误。我知道这是唯一的问题,因为如果我用一个公共函数声明一个普通类,它就可以工作,但是如果我使用相同的类并将其声明为模板类,我发现错误再次发生
tldr:
如果类被声明为classfoo{},eclipse“实现方法”将把头文件中声明的函数放入源文件中,以便编写代码代码>但如果类声明为模板类foo{},则失败代码>
当我尝试使用这个实现方法函数时,我发现eclipse告诉我“没有为一个或多个方法找到实现文件”,而是在头文件中创建了内联函数(就像我真的需要那个样!)。这是Eclipse中的一个bug还是有一些无法避免的基础C++规则?
不,这不是一个bug,而是您实际需要的(正如您所注意到的)
<>这是一个C++规则,
因此,Eclipse无法为模板类推导出任何源文件
<>你可以将代码文件的类型设置为<代码> .TCC < /> >或<代码> .ICC < /Cord>文件,作为C++源代码,并从模板类头中包含这些(我不确定伊柯丽斯是否足够聪明,将自动实现放在ATM上,但我确信在源代码和头文件之间通常切换这种设置)。
当我尝试使用这个实现方法函数时,我发现eclipse告诉我“没有为一个或多个方法找到实现文件”,而是在头文件中创建了内联函数(就像我真的需要那个样!)。这是Eclipse中的一个bug还是有一些无法避免的基础C++规则?
不,这不是一个bug,而是您实际需要的(正如您所注意到的)
<>这是一个C++规则,
因此,Eclipse无法为模板类推导出任何源文件
<>你可以将代码文件的类型设置为<代码> .TCC < /> >或<代码> .ICC < /Cord>文件,作为C++源代码,并从模板类头中包含这些(我不确定伊柯丽斯是否足够聪明,将自动实现放在ATM上,但我确信在源代码和头文件之间通常切换这种设置)。