class foo{ private: int a,b,c; pulic int getA(); int getB(); int getC(); }
#endif
[foo.cc] #include "foo.h"
int foo::getA(){return a;} int foo::getB(){return b;} int foo::getC(){return c;} とかなっているときに、getAはOKなのにgetBとgetCのみmultiple definitionと言われるような状況です。 他にも、引数なしのコンストラクタはOKなのに、引数付きでオーバーロードしたコンストラクタのみ mutiple definitonと言われたりします。 これらの現象は全て、問題の関数実装時にinline宣言すると消えます。これはどういう問題なのでしょうか。