是否可以在C ++中创建对象数组的队列?

时间:2015-06-17 13:52:13

标签: c++ arrays object queue

例如:

class Hooks {


 public:
 std::string text;
 std::string hookfont;

 HookFromEncouter()
 {
     text = "Would you befriend an elf? ";
     hookfont = "COPRGTB.ttf";
 }

 HookFromEncouter(string text1, string hookfont1)
 {
     text = text;
     hookfont = hookfont1;
 }

 };

我需要将此对象的数组存储在队列中:

如何使用可变长度的对象数组创建和访问此类队列?还是静态长度?

如:

queue<Hooks[]> Hooks_queue;

大。这段代码给了我一个错误:

vector<Hooks> hooks_import;
hooks_import.push_back(Hooks());
hooks_import.push_back(Hooks());

Hooks_queue.push(hooks_import);

错误:没有重载功能的实例

1 个答案:

答案 0 :(得分:4)

如果内部数组的长度可变,或者在运行时才能知道长度,可以使用

std::queue<std::array<Hooks, N>> Hooks_queue;

如果大小已修复且在编译时已知,则可以使用

N

其中array是每个 int newArray[] = {}; for (int i=0; i<v.length; i++) if (mode) newArray[i] = getMin(v, i); else newArray[i] = getMax(v, i);

的大小