class tablero
{
int filas_; //initialize both ints
int columnas_;
vector < vector <casilla> > casilla_; // a vector of vectors of Casillas
public:
tablero(int filas, int columnas)
// The above is an initialization list
// We initialize casilla_ as a vector of filas vectors of columnas Casillas
{
filas_=filas; //put the rows in the row int
columnas_=columnas; // and the columns in the columns
casilla_ = filas , vector<casilla>(columnas); // and set the dimensions of the vector of vectors.
}
Это не дает мне «не подходит для„оператора =“(типы операндов„станд :: вектор>“и„INT“)» Ошибка в casilla_ = филе , vector (columnsas) .filas (rows) columnas (columns).Ошибка при предоставлении вектора векторов его размеры
Я думаю, что все в порядке, но я не знаю, почему эта ошибка появляется. В Tablero.h мой конструктор:
class Tablero {
public:
Tablero(int filas,int columnas); //I added both ints because I had an error in the main.
virtual ~Tablero();
void setcol(int n); //other methods
void setfilas(int n);
vector<vector<casilla> > getCasilla();
void setCasillac(int n ,int t, casilla c);
casilla getCasillac(int n ,int t);
};
Если вам нужен класс Casilla и другие вещи просто сказать, и я отправлю его. Я новичок в C++ и eclipse, я привык к Netbeans и java, и я не знаю, как обращаться с этими исключениями.
Спасибо всем, кто может мне помочь, и, конечно, если вам нужен еще один код, скажите, и я отредактирую этот пост и поставлю его.
Он работает для остановки ошибки, но в Casilla.h теперь отображается ошибка: неопределенная ссылка на 'vtable для std :: casilla '. И в каждом методе, который я использую Tablero для доступа к Casilla (например, t.getCasillac (int fila int columna)), отображается ошибка, которой не было. – flaixman
Это потому, что в пространстве имен std нет такой вещи, как casilla Можно ли предположить, что вы строите класс, который будет представлять собой сетку данных, т. Е. Таблицу базы данных. Если это так, вам нужно только сохранить значение столбцов один раз как int, поскольку ширина таблицы должна быть постоянной Если вы хотите, чтобы вы могли опубликовать casilla.h и .cpp и, возможно, лучшее описание того, чего вы пытаетесь достичь. – Moo