我需要返回一个数组及其大小:
pair<int*, int> load(string path,int * memory){
ifstream handle;
int container;
int size = 0;
if(!handle){
QMessageBox::warning(0, QString(""), "file cannot be loaded");
return make_pair(NULL,-1);
}
handle.open(path.c_str());
while(!handle.eof()){
handle >> container;
size++;
}
size--;
if(!size){
QMessageBox::warning(0, QString(""), "file is empty");
return make_pair(NULL,-1);
}
memory = new int[size];
handle.clear();
handle.seekg(0, ios::beg);
for(int i = 0; i < size; i++){
handle >> memory[i];
}
handle.close();
return make_pair(memory, size);
}
错误输出为:
/usr/include/c++/4.6/bits/stl_pair.h:109:错误:从“int”到“int*”的无效转换 [-fpermissive]
我该怎么做?