C ++中可比较的数组

时间:2013-02-05 04:33:56

标签: c++ arrays comparable

我的代码中出现以下错误。我对C ++很生疏,不知道我做错了什么。

错误讯息:

Error: Field has incompatible type 'int []'   

代码:

template<typename Comparable> class OrderedCollection
{         
private:
    Comparable data[];  //ERROR CAUSED BY THIS LINE
    int _size;
    int _current;
    const int MAX_SIZE = 100;

2 个答案:

答案 0 :(得分:2)

可能的解决方法是使用第二个接受size_t的模板参数。

template<typename Comparable, size_t MAX_SIZE = 100> class OrderedCollection
    {

    private:
        Comparable data[MAX_SIZE];  //Error should be gone
        int _size;
        int _current;

答案 1 :(得分:1)

您需要指定const数组大小,必须在编译时知道数组大小。

这样的事情应该解决:

  Comparable data[MAX_SIZE];