【发布时间】:2013-07-29 15:37:23
【问题描述】:
查看有关错误 C2106 的其他问题,我仍然不知道我的代码有什么问题。编译时出现以下错误:
c:\driver.cpp(99): error C2106: '=' : 左操作数必须是左值
c:\driver.cpp(169): 错误 C2106: '=' : 左操作数必须是左值
代码行如下:
payroll.at(i) = NULL; //Line 99
payroll.at(count++) = ePtr; //Line 169
我不明白为什么会抛出这个错误。在这个项目中,我将 driver.cpp 从一组员工对象指针更改为我制作的自定义 Vector 模板。我将 Vector 声明如下...
//Declare an Vector to hold employee object pointers
MyVector <employee*> payroll;
感谢任何帮助...
【问题讨论】:
-
MyVector::at 返回什么?
-
MyGuess :
YourVector::at()必须按值返回,这是问题所在。 -
@tohava 这就是它返回的内容...'return myArray[n];'除非引用大于向量大小,否则它会返回传递给函数的值。
-
@KQball:返回类型是什么(决定如何返回返回什么)?跨度>