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

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

Войти
Регистрация
Восстановить пароль
 
cmath
Модератор
2423 / 1642 / 133
Регистрация: 11.08.2012
Сообщений: 3,265
Завершенные тесты: 5
#1

Функция main() и ситаксические ошибки - C++

30.08.2012, 10:43. Просмотров 494. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Написал вот такую бредятину штуку:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <windows.h>
#include <cstring>
 
int main();
 
int a = 3;
if(a == 0)
{
 
int main()
{
    return 0;
}
}
Компиллятор ругается на ситаксическую ошибку (мол где-то я в условном операторе де забыл скобочку и ";")
При этом ему совершенно пофиг, что main() выполняется в теле условного оператора, да еще и никогда не будет выполнена из-за условия a==0. Это баг такой?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2012, 10:43     Функция main() и ситаксические ошибки
Посмотрите здесь:

Функция main. Является ли она точкой старта программы? C++
C++ Функция main
C++ функция main()
Функция main C++
C++ Функция main () {}
Функция main с аргументами C++
функция main обработка параметров командной строки C++
C++ Алгоритм работы функции, когда функция вызывается в main
C++ Не работает функция вывода в main()
C++ Функция не видит переменных из main
Написать программу, в которой задана произвольная функция вызывается из функции main () C++
В каком файле исходного кода находится функция main? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
@r!er
2 / 2 / 1
Регистрация: 15.09.2011
Сообщений: 25
30.08.2012, 11:53     Функция main() и ситаксические ошибки #2
Не может быть 2-х фунций main(). И прототип функции main() не нужен
C++
1
2
3
4
5
6
7
8
#include <windows.h>
#include <cstring>
int main()
{
 int a=3;
 if(!a)
 return 0;
}
Veyron
105 / 105 / 4
Регистрация: 02.06.2009
Сообщений: 579
30.08.2012, 11:55     Функция main() и ситаксические ошибки #3
Ага, баг.
У меня компилятор ругается на то, что if стоит там, где ему не нужно стоять. Дальнейшие ошибки не определяются, потому что сначала следует исправить то, что уже есть - смысла делать синтаксический анализ у программы нет, так как жопа уже тут.
ЗЫ: GCC 4.7
Blutonium
4 / 4 / 0
Регистрация: 29.05.2012
Сообщений: 275
30.08.2012, 11:55     Функция main() и ситаксические ошибки #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
int a=3;
if(a==0)
{
int main();
system("PAUSE");
return EXIT_SUCCESS;
}
}
Компилировал через программку devcpp
cmath
Модератор
2423 / 1642 / 133
Регистрация: 11.08.2012
Сообщений: 3,265
Завершенные тесты: 5
30.08.2012, 12:18  [ТС]     Функция main() и ситаксические ошибки #5
Цитата Сообщение от @r!er Посмотреть сообщение
Не может быть 2-х фунций main(). И прототип функции main() не нужен
Это я в сообщении случайно поставил когда копи-пастил не обращайте внимания

Добавлено через 4 минуты
Цитата Сообщение от Veyron Посмотреть сообщение
ЗЫ: GCC 4.7
А у меня VS++ 2008 и ругается он (как пример) в
C++
1
2
3
4
for (int i = 0; i<b;i++)
{
if(a!=b)
}
не только на то, что "b" (а заодно и "a") не объявлены, но и на непонятку с if

Добавлено через 4 минуты
Кст он у меня ругается не на расположение if, а на отсутствие скобки (которая кст есть) и отсутствие ";"

Не по теме:

у меня случай был, когда из-за ошибки с макросом компиллятор ругался на синтаксические ошибки, которых не было, вместо того, чтобы намекнуть на необъявленный идентификатор.



Добавлено через 3 минуты
Синтаксическая ошибка собственно этот случай
Yandex
Объявления
30.08.2012, 12:18     Функция main() и ситаксические ошибки
Ответ Создать тему
Опции темы

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