Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
m0
2 / 2 / 1
Регистрация: 03.12.2013
Сообщений: 145
#1

Инициализация переменной в классе - C++

02.01.2014, 12:48. Просмотров 725. Ответов 3
Метки нет (Все метки)

Пытаюсь инициализировать в классе переменную и дальше ее использовать
C++
1
2
3
4
5
6
7
8
class Lines
{
double PI = 3.141592653589793238462;
void static Init(int argc, char** argv)
    {
        for(GLdouble i = 0; i < 4.0; i += 0.05)
        {
            GLdouble func = exp(-i) * cos(2 * PI * i);
но получаю ошибку data member initializer is not allowed
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 12:48     Инициализация переменной в классе
Посмотрите здесь:

Инициализация переменной в шаблонном классе - C++
Как правильно инициализировать шаблонную переменную в классе? Т.е. есть ли какая разница между x() и x( T() ) ? 1-й вариант ...

Инициализация char в классе - C++
Не понимаю, как поместить символьный массив в класс. На выводе получаются случайные символы. class Person { char last_name; public: ...

Инициализация valarray в классе - C++
Добрый день. Требуется помощь коллективного разума: совсем забыл, как прогать. Есть следующий кусок простого кода: //1.h ...

Инициализация массива в классе - C++
class matrix { int arr; ...... public: .............. void set_a(int input, int i, int j){arr=input;}; //тут ошибка };

Инициализация указателя в классе - C++
Есть класс const int NoL = 0; class A{ private: int&amp; IF; A(){IF = NoL; }; } на что компилятор ругается &quot;IF&quot;:...

Инициализация укзателей в классе - C++
Всем привет читаю книгу Пабло Халперна &quot;Стандарная библиотека С++ на примерах&quot;. Там, в качестве обучения читателю предлагается пройти...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
02.01.2014, 13:00     Инициализация переменной в классе #2
Такая инициализация полей возможна только в С++11. Т.е. либо собирайте с соответствующими флагами, либо пишите конструктор, либо делайте поле static. Тем более, что попытка его использования - именно в static методе.
Или использовать буст:
C++
1
boost::math::constants::pi<double>();
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.01.2014, 13:00     Инициализация переменной в классе #3
Удалил.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2014, 13:25     Инициализация переменной в классе
Еще ссылки по теме:

Инициализация массива в классе - C++
OS: WinXP Compiler: VC++ 6.0 Извиняюсь, заранее за глупый вопрос, но тем не менее: Есть класс: class Table{ public: ...

Инициализация массива в классе - C++
Как инициализировать массив в классе? Пишу такой код, но компилятор выдает: 9:53: error: incompatible types in assignment of 'int' to...

Инициализация статической константы в классе - C++
собственно сабж как это сделать если константа имеет тип класса? (не интегральная) т.е. надо вызвать у нее конструктор с определенным...

Инициализация двумерного массива в классе - C++
Есть класс: class Test { int T; public: Test(); ~Test(); };

Инициализация массива указателей в классе - C++
Доброго времени суток. Столкнулся с проблемой, не могу инициализировать массив указателей в классе: class cards { ...

Инициализация массива строк string в классе - C++
Как сделать подскажите? #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;Windows.h&gt; using namespace std; struct structPizza ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.01.2014, 13:25     Инициализация переменной в классе #4
static-метод действительно является членом всего класса, а не его экземпляра, значит, если и всякое обращение из такого метода к полю не через явный параметр-экземпляр подразумевает членство поля непосредственно в классе, а не в его экзепляре. Но не статик-поля - члены экземпляров, а не самих классов. Так что при таком синтаксисе обращения надо поле делать static. Кроме того, по смыслу данного PI - константа, а не переменная, а объявлена, как переменная.
Yandex
Объявления
02.01.2014, 13:25     Инициализация переменной в классе
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru