Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Инициализация двумерного вектора в классе


Автор: FreeJaile 2.4.2010, 11:01
есть класс 

Код

class Chromosome
{
public:
    vector <int> gens; 
    static const int Size = 20; 
            vector <vector<int>> Effective(Size,vector<int>(Size));  //компилятор ругается на эту строчку
    Chromosome();
    ~Chromosome(){}
    void PrintChrom();
    int Fit();
};


по задаче можно задать двумерный массив статически, но компилятор опять же ругается((
подскажите, пожалуйста, что можно сделать

Автор: bsa 2.4.2010, 11:12
FreeJaile, в С++ есть такой оператор >>. Ты его написал вместо двух угловых скобок. Поставь между ними пробел.

Автор: FreeJaile 2.4.2010, 11:18
ой..точно) но все равно ругается: syntax error : identifier 'Size'

Автор: bsa 2.4.2010, 11:41
FreeJaile, что-то я сразу не сообразил, ты пытаешься инициализировать переменную класса при объявлении. Что в корне не верно - ты это должен делать в конструкторе:
Код
class Chromosome
{
public:
    vector <int> gens; 
    static const int Size = 20; 
    vector <vector<int> > Effective;
    Chromosome() : Effective(Size,vector<int>(Size)){ /* ... */ }
    ~Chromosome(){}
    void PrintChrom();
    int Fit();
};

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)