だから私はこのようなクラスがあります。私が最もあるかを知りたいC++ 11スタイルでキャストする正しい方法ですか?
(ロング別名符号なし) 暗黙の型変換をint型からsize_typeに:(1)私は、テキストと警告してしまったでは
A{
init(int a){
_data.resize(a); //! (1)
}
//other code is unimportant
private:
std::list<std::vector<double>> _data;
}
をその警告を取り除く正しい方法は? たぶんそのような何か:
_data.resize(static_cast<decltype(_data)::size_type>(a)
ノート:
init(size_t a)
正しい方法ですが、私たちはインターフェース
'のinitは(size_t a){' –
@Revolver_Ocelotこれは正しい方法だと思いますが、インターフェースを変更できないとしましょう。 – tty6
何かをキャストするのではなく、引数がコンテナのサイズの型として表現可能かどうかをチェックする方が便利です。 –