Есть некий класс CFoo. Хочу создать константу, как одно из свойств данного класса. Т.е. примерно так:
class CFoo
{
public:
static const double PI=3.1415; // Вот здесь вот и не работает
}
// Продолжение класса можно опустить. Там есть конструктор, деструктор и т.п.
Можно конечно объявить Pi как свойство. Но хочется сделать именно Паблик константу.
Заранее благодарен.
Здраствуйте, Максим. Вы писали:
М> Есть некий класс CFoo. Хочу создать константу, как одно из свойств М> данного класса. Т.е. примерно так: class CFoo М> { М> public: М> static const double PI=3.1415; // Вот здесь вот и не работает М> } М> // Продолжение класса можно опустить. Там есть конструктор, деструктор и М> т.п. Можно конечно объявить Pi как свойство. Но хочется сделать именно М> Паблик константу. Заранее благодарен.
Инициализация констант в объявлении класса допустима только для интегральных типов
Здравствуйте, Аноним, Вы писали:
ЗХ>>обращаю ваше внимание на то, что именно в cpp-шнике, если это в h-нике сделать, линкер некрасиво заматерится
А>Его можно заматерить, если использовать __declspec(selectany).
Текущий стандарт C++ не допускает явной инициализации констант плавающего типа в объявлении класса. Не понимаю почему.
Надеюсь, что это будет исправлено. А пока можно делать так .