Я пытаюсь понять использование private const в классе.
Насколько я понимаю, приватный const используется для того, чтобы сделать что-то постоянное внутри класса и статический для получения одной копии.
Первоначально мой код использовал пи, и его тип данных был float. Итак, я попытался изменить float на int, потому что я читал const static, разрешено только для типов int внутри класса.
#include <iostream>
class MyExample
{
private:
static const int x;
};
int main(void)
{
int const MyExample::x = 3;
std::cout<<"x value is "<<MyExample::x<<std::endl;
return 0;
}
компиляция -
$g++ -std=c++14 test.cpp
test.cpp: In function ‘int main()’:
test.cpp:12:27: error: qualified-id in declaration before ‘=’ token
int const MyExample::x = 3;
Я знаю, что перемещение строки "int const MyExample :: x = 3;" из main () наружу, удаляет ошибку, если я также удаляю private.