昨天有人给了我一个错误的程序。在 MVS 2010 中工作时,我也发现了问题和替代方法。问题是类的重载插入运算符。它的原型如下...
void matrix :: operator << (matrix&) ;
它是从这样的地方调用的......
matrix m ;
m.operator << (m) ;
我发现编译器不允许发送与调用函数的引用参数相同的对象。但我不明白这背后的原因以及它会产生什么问题。如果有人能解释一下,我将不胜感激。谢谢。
编辑:
实际发生的是,在调试时,它进入函数内部,出来并在执行时main
,进入外部依赖文件dbgdel.cpp
并停在这一行。
_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));