pascalの日記: C++ハマったメモ( ;´Д⊂ヽ 4
日記 by
pascal
はろうーおひさしぶりです。
今日はC++で猛烈にハマったのでメモするよ!!
コードの意味的には以下の通り。
ostream& operator<<(ostream& os, const MyClass& myClass) {
myClass.Print(os);
}int main(){
MyClass myClass;
cout << myClass << myClass << endl;
return 0;
}
コンパイルオプション的には以下の通り。
g++ myclass.cc
なんで警告でないの( ;´Д⊂ヽ
すぐわかると思いますが、
ostream& operator<<(ostream& os, const MyClass& myClass) {
myClass.Print(os);
return os;
}
ですね。関係ないところをいじったときに出てきたバグだったので、あれーおっかしーなーと思って悩みました。gdb持ち出すところでもないと思ったのが間違いで、最初からおとなしくgdb先生のお世話になっておけばと悔やまれます(わ
30分くらい悩みました。もったいない。
とりあえず-Wall -Werrerしようよー。 (スコア:1)
Re:とりあえず-Wall -Werrerしようよー。 (スコア:1)
gcc/g++ってかなり甘いんですねー。びっくりですよ。
mainにreturn書かないと怒るくせに、このコードでも何も文句言ってきませんでした><
コーディング規約 (スコア:1)
こうして「関数の脱出にはreturn文を書くこと」という規約が出来るのですね。
Re:コーディング規約 (スコア:1)
そういえば昔変な規約でプログラム書かされました。
関数名はモジュール名+関数番号、みたいな!あれにはひっくりかえりました。