C++ 如果我错误地重载运算符,将报告哪些错误?
我知道我们不能用其他含义重载操作符,不能创建新的操作符,没有用户定义的类也不能重载。如果我错误地重载运算符?将报告哪些错误?编译器错误还是运行时错误C++ 如果我错误地重载运算符,将报告哪些错误?,c++,operator-overloading,C++,Operator Overloading,我知道我们不能用其他含义重载操作符,不能创建新的操作符,没有用户定义的类也不能重载。如果我错误地重载运算符?将报告哪些错误?编译器错误还是运行时错误 如果重载**,会发生什么情况?您只能重载现有的运算符。在C++中没有操作符**/COD> < < /P> 如果您尝试,编译器会抱怨 在编译时检查运算符重载。如果编译,它只是一种函数,因此可能的运行时错误与任何其他函数相同。您只能重载现有的运算符。在C++中没有操作符**/COD> < < /P> 如果您尝试,编译器会抱怨 在编译时检查运算符重载。如
如果重载**,会发生什么情况?您只能重载现有的运算符。在C++中没有<代码>操作符**/COD> < < /P> 如果您尝试,编译器会抱怨
在编译时检查运算符重载。如果编译,它只是一种函数,因此可能的运行时错误与任何其他函数相同。您只能重载现有的运算符。在C++中没有<代码>操作符**/COD> < < /P> 如果您尝试,编译器会抱怨
在编译时检查运算符重载。如果它编译,它只是一种函数,因此可能的运行时错误与任何其他函数的运行时错误相同。也许我误解了你的问题,但你肯定可以用不同的含义重载运算符。考虑整数与IoFixs:
1 << 5; // takes the value 1 and does a binary shift
cout << "moo"; // inserts the string "moo" into the cout stream
1也许我误解了你的问题,但你肯定可以用不同的含义重载操作符。考虑整数与IoFixs:
1 << 5; // takes the value 1 and does a binary shift
cout << "moo"; // inserts the string "moo" into the cout stream
1另外,请记住,如果您正在操作堆上的对象(通过新操作符),错误地重载操作符可能会导致崩溃或内存泄漏,也可能导致不按预期操作。这些类型的问题可能不会产生运行时或编译时错误。此外,请记住,如果您正在操作堆上的对象(通过新操作符),错误地重载操作符可能会导致崩溃或内存泄漏,以及无法按预期操作。这些类型的问题可能不会生成运行时或编译时错误。 C++中没有这样的运算符。()也可以枚举操作符。C++中没有这样的操作符。()此外,还可以为枚举重载运算符。