2016-12-21 23 views
-1

これは普通のC++ユーザーにとっては些細なことかもしれませんが、現在はC++をもう一度やり直しています。私はint&を取る関数を持っており、print文の文字列にその値を追加したいと思います。だから私はこのようなものを持っている:intを&文字列に変換する

std::string getTest(void* dataGroup, int& xWidth, int& yHeight) 
{ 
    std::string results = ""; 

    results += "\nxWidth is: " + xWidth; 

    return results; 
} 

私はそれを呼び出すときに実行されません。参照渡しのint &の値を文字列に追加できる形式に変換する適切な方法は何ですか?

+0

これはできません。例: 'results + =" \ nxWidthは "+ std :: to_string(xWidth);'です。ここに投稿する前にもう少し調査を行うことを検討してください。 ' –

+1

http://en.cppreference.com/w/cpp/string/basic_string/to_string、http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in -c、http://stackoverflow.com/questions/29333397/how-to-convert-int-to-string、 – chris

+0

'+'演算子の片方は 'std :: string'型でなければなりません働くあなたは 'const char const *'と 'int&'を持っています。それらは互換性のないタイプです。コンパイラが投げているはずのエラーメッセージを見ましたか? – Qix

答えて

3

std::to_string(xWidth)

&はほとんど無関係です。 to_stringは値でintを取ります。したがって、関数がそれをどのように取るかは問題ではありません:値、左辺値、右辺値、constまたは非const ...すべてで動作します。

+0

この場合、 'int&'を取ってもそれを変更していないので意味がないことに注意してください。そして、最終的に値を渡すのと同じサイズ(場合によってはもっと小さくなるでしょう)になります。 – Qix

関連する問題