昨日誰かが私にエラーのあるプログラムをくれました。MVS 2010 で作業して、問題とその代替手段も見つけました。問題は、クラスのオーバーロードされた挿入演算子でした。そのプロトタイプは次のとおりでした...
void matrix :: operator << (matrix&) ;
こんなところから呼び出された…
matrix m ;
m.operator << (m) ;
関数が呼び出された参照パラメーターと同じオブジェクトをコンパイラーが送信することを許可していないことがわかりました。しかし、その背後にある理由と、それがどのような問題を引き起こすのかはわかりません。誰かがそれを説明できれば幸いです。ありがとう。
EDIT:
実際に起こっているのは、デバッグ時に関数内に入り、出てきて実行時main
に外部依存ファイルに入り、dbgdel.cpp
この行で停止することです。
_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));