Проблема с функциями

#include <iostream>
using namespace std;
int main()
{
void first () { main() } ; // не читаеться main()
void second () { } ;
int main ( first(); second(); );
}

Столкнулся с проблемой. Если вызывать функцию до её прочтения, программа выдаёт ошибку, говоря что такой(main()) функции нет. Как решить проблему?
И проблема не в том что это цикл. У меня выполняються условия для вызова функции.

Если я правильно понял твою проблему.
Объяви функции в начале программы, в глобальной области. Вот так:

#include <iostream>
using namespace std;

void first ();
void second ();
int main();

int main()
{
void first () { main() } ; // не читается main()
void second () { } ;
int main ( first(); second(); );
}

и не хватает точки с запятой после main() вот здесь:

void first () { main() } ; // не читается main()

возможно вся проблема из-за точки с запятой!

Рекурсивно вызывать main() — это очень плохая идея!

Рекурсивно вызывать main() — это очень плохая идея!

Это противоречит стандарту и запрещено

Это противоречит стандарту и запрещено

К сожалению некоторые компиляторы разрешают проделывать этот фокус.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.