2014-12-23 10 views
1

Моя ошибка:Как мне выйти из моей текущей сферы действия из пустоты, чтобы я мог вернуться к основному? Что мне нужно сделать?

|21|error: 'main' was not declared in this scope| 
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===| 

Моя текущая программа радикально отличается и гораздо больше (отсюда и ненужные заголовки). Я просто написал это, чтобы быстро продемонстрировать свою проблему. Как мне выйти из сферы этой функции void и вернуться к основной (где на самом деле находится меню моей программы)?

#include <iostream> 
#include <cmath> 
#include <cstdlib> 
#include <cstdio> 
#include <limits> 

int continueint; 

using namespace std; 

class handles { 
public: 
void continueChoice() 
{ 
    cout<<"[1] Go back to the main menu"<<endl; 
    cout<<"[2] Terminate the program"<<endl; 
    cin>>continueint; 
    switch (continueint) 
    { 
    case 1: 
     main(); // This is where my problem lies 
    case 2: 
     break; 
    } 
} 
}handlers; 

int main(int nNumberofArgs, char*pszArgs[]) 
{ 
cout<<"A message here."<<endl; 
system("PAUSE"); 
handlers.continueChoice(); //Calls the void function in the above class 
} 
+0

* возврат * ключевое слово мощный. Вы можете вызвать вариант с десятью киловольтами с броском. Но нет, вызов main() снова является * verboten * спецификацией языка. По [веской причине] (http://stackoverflow.com/questions/4518598/is-it-legal-to-recurse-into-main-in-c/4519407#4519407). –

ответ

2

Просто вернуться:

void somefunc() { 
    if (something) 
     if (something_else) 
      return; 
     } 
    } 
} 

Вы можете вернуть из функции ничтожной. Вы просто не можете вернуть объект.

В качестве дополнительного примечания вы никогда не должны звонить main. Вы можете сделать эту компиляцию, поставив continueChoice под основной и вперед, объявив ее, но тогда вы создадите бесконечный рекурсивный цикл, который очень плохо для всего.

+0

Мне удалось решить эту проблему, используя ряд функций if, while и else. Теперь он работает отлично. Спасибо за вашу помощь! – TheOneRing

 Смежные вопросы

  • Нет связанных вопросов^_^