C2248: Невозможно получить доступ к закрытому члену, объявленному в классе - встречается только в файле .h? - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь хранить объекты в переменных-членах вместо того, чтобы создавать их и уничтожать каждый раз, когда они мне нужны. В моем конкретном случае создание и уничтожение моих объектов обходятся дорого.

Вот как я инициализирую Pen в файле. cpp

void Foo::func()
{
    Pen pen(Color(255, 0, 0, 0), 1);
}

Я хочу сохранить перо вместо этого в переменной-члене, поэтому я пробую это. Компилятор думает, что я пытаюсь объявить функцию, поэтому он не работает.

class Foo
{
private:
    Gdiplus::Pen pen(Gdiplus::Color(255, 0, 0, 0), 1);
}

Чтобы обойти это, я пытаюсь использовать другой конструктор. Это дает мне ошибку 2248.

class Foo
{
private:
    Gdiplus::Pen pen = Gdiplus::Pen(Gdiplus::Color(1, 1, 1, 1));
};


Есть ли другой способ go об этом, чтобы я мог хранить эти объекты в переменных-членах?

...