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


Автор: Mars30 18.6.2017, 14:27
Добрый вечер!
Не могу инициализировать в конструкторе поля класса. Интерфейс класса в отдельном файле. Компилятор ругается, пишет, что поля, которые я хочу инициализировать необъявленные идентификаторы. В чем проблема?
Код

//sopr_grad.h
class optimization {
public:
 
int n1, n2, m;
long double **t_;
long double *s_;
long double *c_;
long double answer[10]; // значения х
 
 
optimization(int, int, long double **, long double *, long double *);
~optimization();
}


Код

//sopr_grad.cpp
#include "sopr_grad.h"
 
optimization::optimization(int row, int col, long double **t, long double *s, long double *c) {
    n1 = row; //количество химических элементов
    n2 = col; //количество компонентов
    m = n2;
    t_ = new long double* [n1];
    for (int count = 0; count < n1; count++)
        t_[count] = new long double [n2];
    s_ = new long double [n1];
    c_ = new long double [n2];
    //long double *answer = new long double* [n2];
    for (int i = 0; i < n1; i++) {
        s_[i]= s[i];
        for (int j = 0; j < n2; j++)
            t_[i][j] = t[i][j];
    }
    for (int j = 0; j < n2; j++)
        c_[j] = c[j];
}
 
optimization::~optimization() {
    for (int count = 0; count < n11; count++)
        delete [] t_[count];
    delete [] s_;
    delete [] c_;
    //delete [] answer;
}

Автор: volatile 19.6.2017, 15:43
Цитата(Mars30 @  18.6.2017,  14:27 Найти цитируемый пост)
 В чем проблема?

";" в конце первого файла не помешает поставить для начала

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