Member 13795049 Ответов: 3

[Ошибка] ожидаемый неквалифицированный идентификатор перед числовой константой


мой код здесь:


#include<iostream>
using namespace std;

#define MAX 100
#define NEWLINE '\n'
#define MIN 0

int main()
{
	const int MAX = 100;
	const float PI = 3.1415;
	const char BELL = '\a';
	cout << "MAX = " << MAX << NEWLINE;
	cout << "\nBELL" << BELL;
	float ds = PI*3*3;
	cout << "\nDien tich hinh tron ban kinh 3 la: " << ds << NEWLINE;
	return 0;
}



когда я компилирую его, он сказал:
4 13 C:\Users\Administrator\Desktop\Tai lieu hoc lam game\c++\Untitled5.cpp [ошибка] ожидаемый неквалифицированный идентификатор перед числовой константой

Что я уже пробовал:

Я не знаю, как это исправить.

3 Ответов

Рейтинг:
4

Jochen Arndt

Вы определили MAX как 100. Итак, линия

const int MAX = 100;
будет преобразован в
const int 100 = 100;
что является недопустимым утверждением и приводит к появлению видимого сообщения об ошибке.

Решение:
Удалите эту линию или линию, определяющую MAX.


Рейтинг:
26

Richard MacCutchan

#define MAX 100
#define NEWLINE '\n'
#define MIN 0

int main()
{
// You have defined MAX as 100 above so the following line evaluates to:
// const int 100 = 100; which is not valid
const int MAX = 100;

Кроме того, почему вы определили NEWLINE? Вы должны использовать ios постоянный endl для завершения строки используйте cout.


Member 13795049

потому что я любитель

Richard MacCutchan

Тогда было бы неплохо получить надлежащее учебное пособие по C++ и проработать его. Вы не можете изучать программирование, публикуя вопросы на техническом форуме.

KarstenK

Это не проблема, каждый должен учиться. Примите совет и учитесь на нем. ;-)

Рейтинг:
19

CPallini

Цитата:
#определите максимум 100

Цитата:
const int MAX = 100;

Вы переосмысливаете MAX символ. Вы должны отбросить одно из двух определений.


Пожалуйста, обратите внимание, что в C++- на самом деле тебе это не нужно. #define для ваших констант: вам лучше использовать const или даже лучше, constexpr.