Im am пытается инициализировать статический const нецелый. Однако для этого требуются частные параметры. Если бы это было интегрального типа вы могли бы поместить его в тело класса и позволяют разрешить одну переменную принимать значение другого т.е.Инициализировать статический const, нецелый, член класса с частным членом
static const int A=0;
static const int B=A;
Но его невстроенной он должен быть инициализирован вне тела класса, но поскольку члены являются частными, они выходят за рамки, вне класса.
Например
//HEADER
class Person
{
static const float x;
static const float y;
static const int rad;
static const sf::Color col;
static const sf::Shape shape;
};
//CPP
const float Person::x=0;
const float Person::y=0;
const int Person::rad=16;
const sf::Color Person::col(255,0,0,255);
const sf::Shape shape=sf::Shape::Circle(Person::x,Person::y,Person::rad,Person::col);
Person :: х, Person :: у, Person :: радиан, Person :: цв выходит за рамки, поскольку они являются частными. Поскольку я инициализирую статический const, я бы хотел не поместить его в конструктор, который будет вызываться каждый раз, когда создается новый экземпляр.
Например
//HEADER
class Person
{
static const float x;
static const float y;
static const int rad;
static const sf::Color col;
static const sf::Shape shape;
Person();
};
//CPP
const float Person::x=0;
const float Person::y=0;
const int Person::rad=16;
const sf::Color Person::col(255,0,0,255);
Person::Person()
{
const sf::Shape shape=sf::Shape::Circle(x,y,rad,col);
}
выше, кажется, однако работать я хочу, чтобы не использовать его по вышеуказанной причине.
Есть ли работа вокруг. Без привлечения членов общественности.
Благодаря