この署名を持つメソッドがあります
void SetFoo(QString& foo);
空の文字列をインラインで渡そうとしていますが、次のコンパイルはどれもありません
SetFoo("");
SetFoo(QString(""));
(エラー: 'MyClass::SetFoo(QString)' の呼び出しに一致する関数がありません)
しかし、このような変数を作成すると機能します。
QString emptyFoo = "";
SetFoo(emptyFoo);
変数を明示的に作成せずにメソッドを呼び出す方法はありませんか?
注: vc++ コンパイラを使用する Windows 環境ではすべてが機能するように見えますが、g++ を使用する Linux 環境では上記のコンパイル エラーが発生します。