C++ 错误:请求成员';插入';哪个是非类类型int*??什么';怎么了?

C++ 错误:请求成员';插入';哪个是非类类型int*??什么';怎么了?,c++,stack,ifstream,dynamic-arrays,C++,Stack,Ifstream,Dynamic Arrays,这就是我得到的错误: StatisticsProcessor.cpp:在成员函数“void StatisticsProcessor::loadData(std::string)”中: StatisticsProcessor.cpp:70:16:错误:请求在“((StatisticsProcessor*)this)->StatisticsProcessor::dataArray”中插入成员“insert”,这是非类类型的“Element*{aka int*}” make:[StatisticsPr

这就是我得到的错误:

StatisticsProcessor.cpp:在成员函数“void StatisticsProcessor::loadData(std::string)”中: StatisticsProcessor.cpp:70:16:错误:请求在“((StatisticsProcessor*)this)->StatisticsProcessor::dataArray”中插入成员“insert”,这是非类类型的“Element*{aka int*}” make:[StatisticsProcessor.o]错误1

这是我代码的一部分:

if(inStream.is_open()){
    for(int i = 0;;){
        if(!inStream.eof()){
            Element line = 0;
                if(i > 0){
                    inStream >> line;
                    dataArray.insert(line);
                }
                else{
                    dataArray = new(nothrow) Element[line];
                    assert(dataArray != 0);
                }
        }
        else if(inStream.eof()) break;
    }
            // Close file stream
            inStream.close();
}
这是我的插入函数:

void StatisticsProcessor::insert(Element e){

    // Increment size
    size++;

    // Add in new value
    dataArray[size-1] = e;
}
元素只是int的typedef,而dataArray的类型是Element*
inStream是一个ifstream对象,我试图从文件中读取数字并插入它们
进入我的列表类(本质上是一个整数数组)。我做错了什么???

如您所示,
插入
统计处理器
类的成员函数。如果要调用该函数,语法如下:

x.insert(y);

其中,
x
是类型为
StatisticsProcessor
的对象,
y
是类型为
Element
(int)的对象。相反,您的
x
是一个
int*
(指向int的指针)。指针没有名为
insert
的成员函数,也没有任何成员函数。

向我们展示类内
dataArray
的声明。你建议我怎么做?@Riptyde4:我建议你读一读a,因为犯这个错误是因为在语言知识上有一个基本的差距。我无法填补这个空白。@Riptyde4将数组更改为
std::vector
,并使用
push_back
。我正在阅读一篇lol,这是一个我正试图理解的类的作业。我不能用向量我的教授想让我们自己写一份清单class@Riptyde4在这种情况下,将
dataArray
的类型改为使用列表类。假设列表接口在某处定义了一个
insert
方法。