-1

我正在尝试创建对象的数组或向量。我在网上找到的大多数其他东西都是关于动态创建的,但我知道我需要的大小。我说向量或数组是因为我相信任何一个都适合我的情况(我正在比较起点和终点),但是任何一个可以更好地工作的输入都会受到欢迎,因为我对 C++ 还是很陌生。下面的代码是我的标题,然后是我的主要代码,我尝试在其中声明一个对象数组,然后出现此错误:非 POD 元素类型“窗口”的可变长度数组。posWsize是一个声明的 const int

#ifndef __Compare_Data_C____comp_fns__
#define __Compare_Data_C____comp_fns__

#include <iostream>
using namespace std;

class Window {
    int start, stop, length;
    double average;
    string strandID;

public:
    void setValues(int a, int b, string strand, int length, double avg);
};
#endif

int main()
{
    int posWsize = getSize(fwdWindowInput, "+", windowHeader);
    Window posWindow[posWsize];

    return 0;
}

getSize获取我的数组的大小。任何帮助将不胜感激!如果我不能以这种特定的方式做到这一点,那我只是想知道如何正确地创建对象的这个数组(或向量,如果合适的话)。谢谢

4

2 回答 2

0

使用std::vector

std::vector<Window> posWindow(posWsize);
于 2013-10-22T20:02:51.017 回答
0

作为 C++ 中的一般规则,除非您有令人信服的理由不使用 vector

于 2013-10-22T20:03:07.910 回答