Urh*_*ila 0 c++ initialization most-vexing-parse
好吧,我正试图弄清楚这个错误,到目前为止,绝对没有运气.我这是为了做作业,这就是为什么我没有使用包含的课程.
这是相关的代码:
//Will return an array where each element is the sum of the respective sums in the added arrays
Vec& Vec::operator+(Vec& v2) const{
Vec ret();
if(mySize>0){
Vec ret(mySize);
for(unsigned i = 0;i<mySize;i++){
ret[i]=v2[i]+myArray[i];
}
}
else{
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)
从.h文件......:
Vec& operator+ (Vec& v2) const;
Run Code Online (Sandbox Code Playgroud)
这会引发错误:"从'Vec(*)()'类型的右值''类型'Vec&'类型的非const引用无效初始化"我对C++完全不熟悉,所以任何帮助都会受到赞赏.
Vec ret();
Run Code Online (Sandbox Code Playgroud)
被认为是一个函数的前向声明,它不带参数并返回一个Vec.请参阅:最令人烦恼的解析.
接下来,您将返回对局部变量的引用,这是不好的.ret函数返回后立即超出范围.