main メソッドが既にあるファイルにあるクラスを再利用するにはどうすればよいですか? たとえば、別の開発者が foo.cpp に記述した struct foo を自分のプログラム main.cpp で使用したいとします。
//-- foo.cpp --
struct foo {
int bar;
};
int main() {
return 0;
}
//-- end foo.cpp --
//-- main.cpp --
#include "foo.cpp"
int main() {
foo f;
f.bar = 1;
return f.bar;
}
//-- end main.cpp
main.cpp は g++ 4.4.4 を使用してコンパイルされず、次のエラーが発生します。
main.cpp: In function "int main()":
main.cpp:2: error: redefinition of "int main()"
foo.cpp:4: error: "int main()" previously defined here
そのコードを制御していないため、foo.cpp からメイン メソッドを抽出できません。私が扱っている実際のコードベースでは、struct foo はもっと複雑なので、メインテナンスが不可能になるため、main.cpp にコピーできません。