オーバーロードされた関数があります
void FuncGetSomething(string, double&)
void FuncGetSomething(string, int&)
void FuncGetSomething(string, bool&)
....このように動作するはずです
double myDbl = 0;
FuncGetSomething("Somename", myDbl)
//to get the new value for myDbl in side the function, and the new value is preset earlier in the code
でもなぜか、誰かがこれを書いているのを見た
double myDlb = 0;
FuncGetSomething("Somename", (double)myDbl)
これは Visual Studio 2008 で機能します。
ただし、Linux (g++ 4.7.2) で同じものをビルドしようとすると、エラーが発生します。
error: no matching function for call to GetSomething(const char [8], double) can be found
なぜVS08で機能し、Linuxで機能しないのかについて、誰かが私にいくつかのアイデアを与えることができますか? Linuxでも動作させる方法はありますか?