我定义了类 T,并使用默认构造函数、复制构造函数和重载的赋值运算符来实现
我已尝试执行以下操作
#include <vector>
//template <class Board>
typedef std::vector<Board> t_bvector;
无论有没有评论,我都会收到此错误
../Piece.H:143:1: error: ‘t_bvector’ does not name a type
In file included from ../Board.C:1:0:
../Board.H:14:1: error: template declaration of ‘typedef’
In file included from ../Board.C:1:0:
我没有 C++11,并且想保留基本向量方法,如 .insert、.size 有办法解决吗?或者对 STL 容器有更好的建议吗?
我不确定你想用那个
template <class Board>
部分做什么,但我猜你的实际代码中有一些语法错误或放错了地方。
这是您应该如何尝试设置此类 typedef 的示例。
#include <vector>
class Board
{
public:
int foo;
};
typedef std::vector<Board> t_bvector;
编辑
现在您已经解释了更多:
class Board;
typedef std::vector<Board> t_bvector;
class Board
{
public:
t_bvector SomeFunction();
};
不要忘记在
typedef
之后声明自定义 using namespace std;
语句,以防止类似的错误