【发布时间】:2011-08-12 05:20:04
【问题描述】:
我经常遇到这个错误,但我不知道为什么。有人可以帮我找出原因吗?
编辑:删除的代码
【问题讨论】:
我经常遇到这个错误,但我不知道为什么。有人可以帮我找出原因吗?
编辑:删除的代码
【问题讨论】:
将实现(您的方法定义)与类声明一起放入标题中(请参阅this in the C++ FAQ)。一些编译器支持“export”关键字以按照您的方式执行此操作,但在 C++0x 中已被取消。
【讨论】:
发生此错误的原因是,您的template 定义对用户代码不可见。模板定义应在中声明,
template<typename T>
void foo (T*);
int main ()
{
foo(1);
}
template<typename T>
void foo (T *p)
{
...
}
// This file can not see the definition of foo
【讨论】: