gpt4 book ai didi

C++: "error: expected class-name before ‘{’ token"继承模板类时

转载 作者:可可西里 更新时间:2023-11-01 17:14:13 28 4
gpt4 key购买 nike

我四处寻找问题的解决方案,发现了很多关于循环引用和 namespace 的问题(均不适用于我的情况),但与我遇到的问题完全不同。

我在 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”,这让我很烦。这与位于 maths 子文件夹中的 matrix.h 和 vector.h 没有任何关系,因为我可以在我的应用程序的其他部分使用 matrix.h 而没有任何问题。我认为这与 Matrix 是模板化类有关,因为当我将 Vector 设为非模板化类(例如 SomeClass.h)的子类时,一切都可以正常编译。

非常感谢任何可以提供帮助的人:)

最佳答案

您需要从具体类继承,即从Matrix<T> ,不仅仅是Matrix :

template<class T>
class Vector : public Matrix<T>
{

};

关于C++: "error: expected class-name before ‘{’ token"继承模板类时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693954/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com