0
私はC++を学んでおり、テンプレートの専門化には少し問題があります。私はVariable.Set()をたくさん呼び出す必要があるので、関数が参照を取り込ませて文字列のコピーに多くの時間を費やさないようにしました。しかし、私が持っている問題はVariable.Set<int>(5);
です。パラメータはrvalueなので、私はこの解決策を知らないのでエラーが発生します。C++のテンプレート特化の値
エラーC2664: '空の変数::セット(&をint型)': '&をint型' から 'int型から引数1を変換することはできません
あなたが一定の参照に自分のパラメータを変更する必要がvoid main()
{
Variable var;
var.Set<int>(5);
}
struct Variable
{
int integer;
float floating;
std::string string;
template<typename T> void Set(T& v);
template<> void Set<int> (int& v) { integer = v; }
template<> void Set<float> (float& v) { floating = v; }
template<> void Set<std::string> (std::string& v) { string = v; }
};
'void main'は' int main'にする必要があります。そして、パラメータタイプ 'const&'を – Praetorian
にすると、タブのサイズはどういう意味ですか? – Budskii
何も、ちょうどコメントを忘れて;) – user463035818