关于赋值运算符过度加载错误
About assignment operator over loading error
请解释此程序的错误消息..
#include <iostream>
using namespace std;
class copyConst
{
private:
int someVal;
public:
copyConst(const copyConst &objParam)
{
someVal = objParam.someVal;
}
copyConst()
{
someVal = 9;
}
copyConst& operator=(const copyConst &objParam)
{
if (this == &objParam)
return *this;
someVal = objParam.someVal;
return *this;
}
};
int main(int argc, char **argv)
{
copyConst obj1;
copyConst obj2(obj1);
copyConst obj3 = obj1;
copyConst obj4;
obj4 = obj1;
return 0;
}
错误信息:
gcc -Wall -o "无题" "无题.cpp" (在目录中: /home/rwik/Documents( untitled.cpp: In function 'int main(int, char**(':无题.cpp:53:12:警告:变量"obj3"已设置但未设置 used [-Wunused-but-set-variable]/tmp/ccUIyRPg.o: in function
__static_initialization_and_destruction_0(int, int)': untitled.cpp:(.text+0x8a): undefined reference to
std::ios_base::Init::Init((' untitled.cpp:(.text+0x8f(: undefined 引用 'std::ios_base::Init::~Init((' 编译失败。 收集2:LD 返回 1 个退出状态
使用 g++
编译,而不是gcc
编译。你有C++代码,而不是 C 代码。
它与类代码无关。
有两种类型的警告消息。第二个是因为 gcc 中缺少链接标志: gcc -lstdc++ -Wall -o "untitled" "untitled.cpp"
(或等效g++ -Wall -o "untitled" "untitled.cpp
.
关于未使用变量的第一个警告是因为obj3
变量已声明但未在其他任何地方使用。对于这种情况,我正在使用(void)obj3;
语句来解决此类警告消息。
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 在 Linux 中使用 -fvisibility=hidden 编译时出现库加载错误
- 视觉C++:图像序列加载错误
- SFML: dyld:即使更新了库路径,库也未加载错误
- 如何处理加载错误的共享库版本的情况
- SFML 库未加载错误,找不到图像
- C Excel加载加载错误:XLL文件由Excel加载为文本文件
- IF流 Fin 加载错误
- 示例文件中的CImg图像加载错误
- 如何修复C#应用程序中调用C++DLL函数时的上下文加载错误
- 使用 LoadLibraryA 的 dll 加载错误
- 关于赋值运算符过度加载错误
- 调试后出现项目加载错误
- 如何解决 clang 的 Python 绑定的加载错误?
- 从c++调用MATLAB dyld:库未加载错误
- 包编译动态库加载错误
- 尝试在Visual Studio 2012中编译时,符号加载错误
- OpenGL多重纹理加载错误