【发布时间】:2009-04-11 17:06:23
【问题描述】:
请原谅我的 C++ 生锈得令人难以置信。但我正在尝试获取一些旧代码并在 Visual C++ 2008 下重新编译它。它最初是为 Visual C++ 6.0 编写的
我得到的错误是这样的:
错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int
好的,看起来很简单。但后来我看看有问题的代码行:
operator=(int i) {SetAsInt(i);};
它似乎声明了类型。那我错过了什么?
跟进:
我接受了 Micheals 的建议并添加了函数(类)的返回类型,并在每个末尾添加了 return this;。然后我遇到了这个:
operator=(const CString& str);
没有定义函数体...这到底是什么意思?
【问题讨论】:
-
请注意,返回对象的引用而不是对象的指针可能应该是
return *this;。或者,您可以通过声明返回void的方法,正如 Neil Butterworth 所建议的那样,您可能无法获得分配链支持(通常可以忽略不计)。
标签: c++ visual-studio visual-studio-2008 visual-c++