他の場所で答えを見つけることができなかったので、これを尋ねる必要があると思います: 以下のように、(int ポインターが格納されている) ベクターのエイリアスを取得しようとしています:
void conversion(Engine * ENGINES)
{//The Engine class has a vector of int* as a public data member called SITE
for (int i = 0; i < 3; i++)
{
vector <int*>* current = &(ENGINES[i].SITE);//the problematic line
int j_max = current -> size();
cout << j_max << endl;
for (int j = 0; j < j_max; j++)
{
for (int k = 0; k < 3; k++)
{
if (*current[j][k] == 2)
*current[j][k] = 1;
if (*current[j][k] == -1)
*current[j][k] = 0;
}
}
}
}
問題は、*current[a][b] のインデックスが反転しているように見えることです。current を法線ベクトルとして使用できるようにしたいのですが、次のようにインデックス付けが逆になっています。
vector <int*> current1 = ENGINES[1].SITE;
その*current[i][j] = current1[j][i]
ため、何らかの理由で。構文に誤りがありますか?