このようなクラスがあると仮定し、 の容量を持つ文字列を作成したいとします。私は次のことを試みたが、うまくいかなかった。 提案がありますか?私はコンストラクタでそれを行うことができることは知っていますが、可能であれば宣言の際にそれをやりたいと思います。宣言中に文字列サイズを初期化する
class foo
{
std::string bar = std::string().resize(45);
}
私はエラー
main.cppを取得:機能に ')(INTメイン': main.cppに:8:46:エラー:非スカラ型に '無効' からの変換」をstd :: __ cxx11 :: string {別名std :: __ cxx11 :: basic_string} 'が要求されました std :: string test = std :: string()。resize(45);
参照するコンストラクタは単なる割り当て以上のことを行う必要があります。 (確かにサイズ変更されます。) – tweej