我已经寻找了解决我的问题的方案,发现很多关于循环引用和命名空间问题的内容(但这些都不适用于我的情况),但没有类似我遇到的问题的解决方案。
我在maths/matrix.h中定义和实现了一个模板类:
template<class T>
class Matrix
{
public:
// constructors, destructors and what not...
};
我在maths/vector.h中定义并实现了另一个模板类。
#include <maths/matrix.h>
template<class T>
class Vector : public Matrix
{
public:
// constructors, destructors and what not...
};
我在vector.h中遇到了“expected class-name before ‘{’ token”错误,这真的很困扰我。它与matrix.h和vector.h位于数学子文件夹中无关,因为我可以在应用程序的其他部分使用matrix.h而没有任何问题。我认为这可能与Matrix是一个模板类有关,因为当我将Vector作为非模板类(例如SomeClass.h)的子类时,一切都可以编译通过。
非常感谢任何能提供帮助的人 :)