1

我的代码中出现以下错误。我对 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;
4

2 回答 2

1

一个可能的解决方法是使用接受 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;
于 2013-02-05T04:50:32.883 回答
1

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

这样的事情应该解决:

  Comparable data[MAX_SIZE]; 
于 2013-02-05T04:34:39.830 回答