皆さん有り難うございます。(遅くなってすいません)
えーと、、、何故かエラーが再現不能になりました。
本当にすいません。

BCB5を使用しているのですが、
string func(string& a, string& b){a+=b;b+=a;return b;}
に対して
cout << func(string("ma"),string("to")) << endl;
cout << func("111","222") << endl;
としても、「一時変数を作成する」という警告(多分string)が二つだけで
通るようです。
これはやはり問題有りなのでしょうか。