![](/img/trans.png)
[英]C++ [Error] assignment of read-only location '*(a + ((sizetype)(((long long unsigned int)min) * 4ull)))'
[英]C++ error:Assignment of read-only location
請幫助我找到問題,為什么我無法修改列表,我完全迷失了。 如您所見,我沒有聲明任何常量。
這是代碼:
struct Carte
{
Carte(initializer_list<initializer_list<int>> iInp){}
initializer_list<initializer_list<int>> aVect;
};
.....
void changeValue(Carte& iCarte, int iValA, int iValB)
{
initializer_list<initializer_list<int>> carte = iCarte.aVect;
initializer_list<initializer_list<int> >::iterator carte_iterator;
initializer_list<int>::iterator carteRow_iterator;
//changing the value
int aLocalI = 0;
int aLocalJ = 0;
for(carte_iterator = carte.begin();carte_iterator!=carte.end();++carte_iterator)
{
if (aLocalI == iValA)
{
for(carteRow_iterator = (*carte_iterator).begin();carteRow_iterator!=(*carte_iterator).end();++carteRow_iterator)
{
if (aLocalJ == iValB)
{
*carteRow_iterator = 1; // ERROR HERE
}
aLocalJ++;
}
}
aLocalI++;
}
}
預先感謝,朱莉婭
從http://en.cppreference.com/w/cpp/utility/initializer_list :
類型為
std::initializer_list<T>
對象是輕量級代理對象,可提供對const T
類型的對象數組的訪問。
initializer_list
的元素始終為 const
,因此*carteRow_iterator
為const
。
如果您想要可修改的對象列表,請使用std::vector
或std::array
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.