私の 2D 配列を 2D ベクトルに変換した後 (私が聞いたすべての賞賛のために)、私のプログラムはほとんどすぐに壊れ、いくつかのテストの後、プログラムがベクトル要素で関数を実行しようとしたときに発生するようです。私はいくつかの単純化されたソースコードを作成しましたが、これにもエラーがあります:
#include <iostream>
#include <vector>
using namespace std;
class Dog
{
private:
int mass, size;
public:
void setMass(int);
void setSize(int);
int getMass();
int getSize();
};
void Dog::setMass(int newMass) {mass = newMass;}
void Dog::setSize(int newSize) {size = newSize;}
int Dog::getMass() {return mass;}
int Dog::getSize() {return size;}
int main()
{
vector <vector<Dog*> > dogs(10, vector<Dog*> (10));
dogs[0][0]->setMass(10);
dogs[0][0]->setSize(5);
return 0;
}
Ideoneへのリンクもあるので、テストが簡単です(およびコードをテストした場所)http://ideone.com/e.js/mqVuv3