在“{”标记之前是否不允许使用函数定义?

时间:2014-03-04 23:18:14

标签: c++

我正在创建一个游戏,我有这个代码。但是,它不起作用:

#include<iostream>
using namespace std;

const int MAX_ITEMS = 100;
bool running = 1;
int playerInfo[2];
void titleFunc();
int userInput = 0;

void newGameFunc();

int main() {
    titleFunc();
    newGameFunc();
    int playerLocation = 0;
    while (running) {

    }

    if (playerLocation == 1) {
        cout << "You are in a dungeon. You have just woke up from escaping the execution of your father. You see a pathway to the North, and a large gaping hole to the South.\n";
        cout << "1. Go South\n 2. Go North";
        cin >> userInput;
        if (userInput == 1) 
            playerLocation = 2;
        else 
            if (userInput == 2) 
                playerLocation = 3;
    }
    return 0;

    titleFunc() {
        cout << "\t\t\t\t---Fantasee---\n\n\n";
        cout << "\t\t\t\t     1:Play\n";

        cin >> userInput;

        if (userInput == 1) {
            newGameFunc();
        }
        else {
            running = 0;
        }
        return;
    }

    newGameFunc() {
        cout << "Welcome to Fantasee, a world of adventure and danger. \n";
        cout << "To begin, please enter your gender: \n 1. Male 2. Female";
        cin >> userInput;
        playerInfo[0] = userInput;

        cout << "And what class do you wish to be? \n 1. Wizard 2. Archer 3. Warrior 4. Trickster 5. Knight 6. Assassin";
        cin >> userInput;
        playerInfo[1] = userInput;
        playerLocation = 1;
        return;
    }
}

}
}

我收到错误消息:

  

g ++ Main.cpp -o Main
  Main.cpp:在函数'int main()'中:
  Main.cpp:36:17:错误:预期';'在'{'标记之前   Main.cpp:67:1:错误:在输入结束时预期'}'    
  编辑:错误的错误信息
  编辑当前代码。

1 个答案:

答案 0 :(得分:10)

您正在声明main函数内的函数体,这是无效的。你也一直在使用太多'}' - s。

您的代码应该更像这样:

#include<iostream>
using namespace std;

const int MAX_ITEMS = 100;

bool running = 1;

int playerInfo[2];

void titleFunc();

int userInput = 0;
int playerLocation = 0;

void newGameFunc();

void titleFunc() {
    cout << "\t\t\t\t---Fantasee---\n\n\n";
    cout << "\t\t\t\t     1:Play\n";

    cin >> userInput;

    if (userInput == 1) {

        newGameFunc();

    }
    else {
        running = 0;
    }
    return;
}

void newGameFunc() {
    cout << "Welcome to Fantasee, a world of adventure and danger. \n";
    cout << "To begin, please enter your gender: \n 1. Male 2. Female";
    cin >> userInput;
    playerInfo[0] = userInput;

    cout << "And what class do you wish to be? \n 1. Wizard 2. Archer 3. Warrior 4. Trickster 5. Knight 6. Assassin";
    cin >> userInput;
    playerInfo[1] = userInput;
    playerLocation = 1;
    return;
}

int main() {

    titleFunc();

    newGameFunc();

    while (running) {

    }
    if (playerLocation == 1){
        cout << "You are in a dungeon. You have just woke up from escaping the execution of your father. You see a pathway to the North, and a large gaping hole to the South.\n";
        cout << "1. Go South\n 2. Go North";
        cin >> userInput;
        if (userInput == 1) playerLocation = 2;
        else if (userInput == 2) playerLocation = 3;
    }
    return 0;
}