C++相談室 part156at TECH
C++相談室 part156 - 暇つぶし2ch412:デフォルトの名無しさん
21/06/19 07:50:07.39 do8R3N0p.net
>>398
YES実際恐ろしい
"a.cpp"に
class Foo { void some_method() const { return 3.0; } };
"b.cpp"に
class Foo { void some_method() const { return 4.5; } };
int main() { Foo x; printf("%f\n", x.some_method()); }
とか書いてリンクして実行したら3.0と表示されることがある
ビルド中に警告とかは無し(於VC++ 2010
というわけでクラス定義は極力ヘッダファイルに書くのが正しいい
二つのFooクラスの定義を同時にincludeしたら確実にビルドエラーになってワカル
どうしても.cppファイル側にクラスの定義を書くときは無名namespaceで囲うべきや
(名前付きnamespaceは名前の重複についてクラス定義ほど検査が厳しくないのであまり解決策にならない


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch