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

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

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

error C2864 - C++

31.12.2011, 20:50. Просмотров 2289. Ответов 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";
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2011, 20:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос error C2864 (C++):

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 Но вот беда, не хочет объявляться...

Исправить ошибку в WxDev-C++: Error with debugging process: GDB Error: error, No source file named main.cpp - C++
Здравствуйте товарищи! Новенький я в си, установил wxDev-C++, скомпилировал, запускаешь - работает, а чтоб пошагово отладка - не...

Error LNK1120, error LNK2019, error LNK2028, queue - C++
// свойство класса Parser queue<elem*>* postfix = new queue<elem*>; // строка, из-за которой происходит ошибка ...

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'" - C++
#include<iostream> using namespace std; int main(){ int x, a = 0, b = 10; (cin >> x).get(); while (x){ int c = x % 10; ...

Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' - C++
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' использую visual...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.12.2011, 20:55 #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; 
}
0
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,107
31.12.2011, 20:56  [ТС] #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";
и в их реализации должна быть типа константы названия файла
0
ProNoooob
74 / 74 / 6
Регистрация: 14.10.2009
Сообщений: 121
31.12.2011, 20:57 #4
Цитата Сообщение от Helldrg Посмотреть сообщение
error C2864: 'cmdMenu::fileName_' : only static const integral data members can be initialized within a class
В описании класса ты можешь давать начальные значение только статическим ЧИСЛОВЫМ константам(int).
Вынеси инициализацию в другое место кода.
1
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,107
31.12.2011, 20:58  [ТС] #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 секунд
а текстовое не как что ли?
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.12.2011, 21:14 #6
Цитата Сообщение от Helldrg Посмотреть сообщение
ты че
Полный код пожалуйста выложите, иначе я не смогу подсказать, что делать...
0
Helldrg
-15 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,107
31.12.2011, 21:21  [ТС] #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");
}
ну че то типа
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.12.2011, 21:27 #8
Цитата Сообщение от Helldrg Посмотреть сообщение
Class CBook
C++
1
class CBook
0
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
31.12.2011, 21:56 #9
Вообще по C++11 всё хорошо.
А чтобы C++98 соответствовало, надо что-то типа
C++
1
2
3
        static const char fileName_[10];
};
template<> const char fileName_[10] = "data.dat";
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2011, 21:56
Привет! Вот еще темы с ответами:

[ilink32 Error] Error: Unresolved external 'zamena (int * *) ' referenced - C++
Вот это программа не работает : вот ошибка которую выдает компилятор: Error: Unresolved external 'zamena(int * *)' referenced from...

Причина ошибки [ilink32 Error] Error: Unable to perform link - C++
Когда сохранил программу и пытаюсь открыть ее снова то мне выкидывает ошибку Warning: Error detected (LME288) Error: Unable to...

Ошибка error C2146: syntax error : missing ';' before identifier 'alph' - C++
Не получается откомпилировать прогу из консоля в MFC, выбивает ошибку error C2146: syntax error : missing ';' before identifier 'alph' ...

Error 1 fatal error C1093: API call 'ImportFile' failed '0x80070003' : ErrorMessage: - C++
// Lab7_1.cpp : main project file. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; float y; void...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.12.2011, 21:56
Ответ Создать тему
Опции темы

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