1
对于下面的代码,我在实现行收到编译错误: “B没有定义类型”。 我知道在类声明中放置函数定义的解决方案。但是,是否有可能将模板类声明中的函数定义删除?由于C++模板 - 类结构
template<typename T>
class A {
public:
// ctor, dtor and interface funcs etc
private:
struct B {
T value;
B *next;
}
B *locate(const T& val) const;
// blah blah
};
template<typename T>
B *A<T>::locate(const T& val) const
{
//logic
}
谢谢,你是现货。 “typename”是我错过的。 –
确认冯登是对的;这有助于我在模板中嵌套其他类或结构时更多地理解模板。 –