私は C++ を初めて使用するので、これはおそらく簡単な質問です。クラス Predictor で宣言されたベクトルのベクトルがあります。
class Predictor{
std::vector<std::vector<BitCounter>> data;
public:
Predictor();
void addBit(int x);
};
BitCounter は次のように宣言されます。
class BitCounter {
short int count0 = 0;
short int count1 = 0;
public:
BitCounter();
short int getCount0();
short int getCount1();
void addBit(int x);
};
Predictor::addBit には、次の行があります。
BitCounter bit_counter = data[i][j];
printf("%p %p\n", &bit_counter, &data[i][j]);
これにより、同一のアドレスを取得することを期待していた 2 つの異なるアドレスが得られます。私が犯している骨の折れるエラーは何ですか?