Я пытаюсь выделить место для типа вектора повышения в определении класса. Я не хороший программист на С ++, но показанная ниже моя лучшая попытка. Нет сообщений об ошибках, но когда я пытаюсь получить доступ к вектору из своей основной функции, он считает, что вектор имеет ноль элементов. Я знаю, что это потому, что я не сказал компилятору, сколько места нужно выделить, когда я объявил вектор в определении класса, но я не знаю, как это сделать, не получив ошибку. Я попытался обойти это, сказав, насколько я хотел этого в конструкторе, но я знаю, что компилятор воспринимает это как переопределение, которое не существует вне рамок конструктора. Может ли кто-нибудь привести меня в правильном направлении? Заранее спасибо.
namespace ublas = boost::numeric::ublas;
class Phase
{
ublas::vector<cdouble> lam;
public:
// Constructor:
Phase()
{
ublas::vector<cdouble> lam(2);
for(int i = 0; i < 2; i++)
{
lam(i) = 1.0;
}
}
// Destructor:
~Phase() {}
// Accessor Function:
ublas::vector<cdouble> get_lam() { return lam; }
};