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++中没有这样的操作符。()此外,还可以为枚举重载运算符。