'sm' 未在此范围内声明
'sm' was not declared in this scope
下面的参考用法有什么错误,正确的用法是什么。我想为较小的向量分配一个引用。
vector<int> R = {3,4,6,3,6,2,3};
vector<int> P = {5,9,8};
if (P.size()>=R.size())
vector<int>& sm = R;
else
vector<int>& sm= P;
这部分没有错。但是您以后不能使用 sm
,因为它的范围将只是 if
或 else
部分。
你应该使用这样的东西:
vector<int>& sm = (P.size()>=R.size()) ? R : P;
下面的参考用法有什么错误,正确的用法是什么。我想为较小的向量分配一个引用。
vector<int> R = {3,4,6,3,6,2,3};
vector<int> P = {5,9,8};
if (P.size()>=R.size())
vector<int>& sm = R;
else
vector<int>& sm= P;
这部分没有错。但是您以后不能使用 sm
,因为它的范围将只是 if
或 else
部分。
你应该使用这样的东西:
vector<int>& sm = (P.size()>=R.size()) ? R : P;