1
我有一個矢量向量的整數,並且矢量有獨特的長度。我想分配一個索引 - 整數我到整數。例如,如果矢量V包含2個矢量,並且第一矢量V.at(0)是長度2,並且第二矢量V.at(1)是長度4,則索引3將對應於第一矢量第二個向量,V.at(1).at(0)。Const正確性 - 如何訪問C++中的向量元素?
我得到的錯誤,我懷疑是與const正確性有關。我該如何解決它?
Class A{
...
}
A func(int i) const {
int j = 0;
int sum = 0;
int u = 0;
// stop when pass by the j-th vector which i is found
while (sum < i){
sum = sum + V.at(j).size();
++j;
}
// return the position
u = V.at(j).at(i-sum);
return A(std::make_pair<j, u>);
}
錯誤消息:
error: the value of 'j' is not usable in a constant expression
return A(std::make_pair<j, u>);
^
note: 'int j' is not const
int j = 0;
^
error: the value of 'u' is not usable in a constant expression
return A(std::make_pair<j, u>);
^
^
note: 'int uid' is not const
int u = V.at(j).at(i-sum);
錯誤在哪裏,它們是什麼? – 2013-03-04 23:33:26
'V'是'A'的成員? 'func'是否是'A'的成員函數?如果不是,它不能'const' – 2013-03-04 23:34:08
'Class'不是一個關鍵字 – 2013-03-04 23:34:28