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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,100
#1

error C2864 - C++

31.12.2011, 20:50. Просмотров 2216. Ответов 8
Метки нет (Все метки)

Здравствуйте! Как исправить ошибку:
error C2864: 'cmdMenu::fileName_' : only static const integral data members can be initialized within a class
в коде:

C++
1
static const char fileName_[10] = "data.dat";
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2011, 20:50     error C2864
Посмотрите здесь:

error C2864: - C++
1>c:\documents and settings\er\мои документы\visual studio 2008\projects\convert\convert\incl.h(4) : error C2864: dataclass::ca: в пределах...

Ошибка C2864/C2758 - C++
Собсна вот в чём проблема... Код писался на VS15 Community, проект был пересоздан на VS10 Ultimate Но вот беда, не хочет объявляться...

Ошибки fatal error U1052 и error MSB3073 - C++
Здравствуйте! Подскажите, пожалуйста, как исправить ошибки fatal error U1052 и error MSB3073 при компиляции решения в MSVS 2012. ...

Project : error PRJ0003 : Error spawning 'rc.exe - C++
1>Project : error PRJ0003 : Error spawning 'rc.exe'. помогите что за ошибка?

Ошибка в Dev-C++ : Build Error Error 1 - C++
Ошибка в Dev-C++ : Build Error Error 1 Вод сам код: #include <iostream> #include <stdlib.h> using namespace std; ...

Error C2061: syntax error : identifier 'h' - C++
в чем ошибка? error C2061: syntax error : identifier 'h' #include "stdafx.h" #include "stdio.h" #include "conio.h" #include...

Error E2141 Declaration syntax error - C++
#include<stdlib.h> #include<conio.h> #include<stdio.h> #include<cmath.h> #include<stdlib.h> #include<time.h> ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.12.2011, 20:55     error C2864 #2
Цитата Сообщение от Helldrg Посмотреть сообщение
fileName_[10]
А это для чего?

Добавлено через 2 минуты
http://liveworkspace.org/code/f9bbf4...5ef54feb511c0e

Добавлено через 12 секунд
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main ()
{
   static const char str[] = "Hello world";
   std::cout << str << std::endl; 
}
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,100
31.12.2011, 20:56  [ТС]     error C2864 #3
короче
там функции есть еще
C++
1
2
3
4
5
void insertData(char[20], char[30]);
    void deleteData(int);
template <class T> void replaceData(int, int, T);
 
    static const char fileName_[10] = "data.dat";
и в их реализации должна быть типа константы названия файла
ProNoooob
72 / 72 / 6
Регистрация: 14.10.2009
Сообщений: 121
31.12.2011, 20:57     error C2864 #4
Цитата Сообщение от Helldrg Посмотреть сообщение
error C2864: 'cmdMenu::fileName_' : only static const integral data members can be initialized within a class
В описании класса ты можешь давать начальные значение только статическим ЧИСЛОВЫМ константам(int).
Вынеси инициализацию в другое место кода.
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,100
31.12.2011, 20:58  [ТС]     error C2864 #5
Цитата Сообщение от go Посмотреть сообщение
Код C++
1
2
3
4
5
6
7
#include <iostream>
int main ()
{
* *static const char str[] = "Hello world";
* *std::cout << str << std::endl;
}
ты че 0_o сама ошибка говорит о том что переменная находится в классе

Добавлено через 28 секунд
а текстовое не как что ли?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.12.2011, 21:14     error C2864 #6
Цитата Сообщение от Helldrg Посмотреть сообщение
ты че
Полный код пожалуйста выложите, иначе я не смогу подсказать, что делать...
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,100
31.12.2011, 21:21  [ТС]     error C2864 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//cb.h
Class CBook
{
public:
void insertData(char[20], char[30]);
        void deleteData(int);
template <class T> void replaceData(int, int, T);
 
        static const char fileName_[10] = "data.dat";
 
};
 
//main.cpp
include "cb.h"
void Cbook::deleteData(int t)
{
   file f=fopen(fileName_,"r");
}
ну че то типа
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.12.2011, 21:27     error C2864 #8
Цитата Сообщение от Helldrg Посмотреть сообщение
Class CBook
C++
1
class CBook
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2011, 21:56     error C2864
Еще ссылки по теме:

Ошибка: error: 'error' was not declared in this scope - C++
#include &lt;iostream&gt; #include&lt;vector&gt; using namespace std; int area(int a,int b) { if(a&lt;=0 || b&lt;=0) error(&quot;area()...

build error [xxx.exe] error 1 - C++
Почему после компиляции dev-cpp выдает такую ошибку: D:\*****\Makefile.win Error 1 При компиляции в visual с все в порядке ...

[ILINK32 Error] Error: Unresolved external - C++
помогите вылетает ошибка и программа из-за этого не работает! Error: Unresolved external '__fastcall...

Error C2143: syntax error : missing ';' before '.' - C++
#include &lt;fstream&gt; #include &lt;iostream&gt; using std::cin; using std::cout; using std::endl; using std::ifstream; using...

Error C2106 или error C2440 - C++
Необходимо создать односвязный список из слов строки.Ошибка в 28 и 35 строке. Код: #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,189
Завершенные тесты: 1
31.12.2011, 21:56     error C2864 #9
Вообще по C++11 всё хорошо.
А чтобы C++98 соответствовало, надо что-то типа
C++
1
2
3
        static const char fileName_[10];
};
template<> const char fileName_[10] = "data.dat";
Yandex
Объявления
31.12.2011, 21:56     error C2864
Ответ Создать тему
Опции темы

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