如何输入自定义类的向量?

问题描述 投票:0回答:2

我定义了类 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 容器有更好的建议吗?

c++ stl
2个回答
3
投票

我不确定你想用那个

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();
};

0
投票

不要忘记在

typedef
之后声明自定义
using namespace std;
语句,以防止类似的错误

© www.soinside.com 2019 - 2024. All rights reserved.