C ++函数和'标识符未找到'错误

时间:2011-12-17 22:33:14

标签: c++

我是一名C ++学习者。我正在尝试编写一个基本的C ++项目。这是基本的自动化系统。它有一个导航菜单。

Choose an option :
   1 ) Add a new customer
   2 ) List all customers
   ...

将有一个nav变量,其中包含用户的选择。这是我的源代码:

#include <stdio.h>
#include <clocale>

int nav;    

void main()
{
    setlocale(LC_ALL,"turkish");
    navigasyon();
    switch (nav) // checking 'nav' variable which assigned in navigasyon()
    case "1" :
         printf("Now you are adding a new customer");
    break;
    case "2" :
         printf("Now you are listing all customers");
    break;
}

void navigasyon()
{
    printf("Choose an option \n");
printf("1 ) Add a new customer\n");
printf("2 ) List all customers\n");

scanf("%d", &nav); // assigning '`nav' variable
}

很快, 在main()中,navigasyon()将显示导航菜单,用户选择1或2,然后navigasyon()将其分配给nav。最后使用switch-case检查nav

但我收到'navigasyon': identifier not found错误。

6 个答案:

答案 0 :(得分:8)

您应该在navigasyon之前声明main

答案 1 :(得分:3)

您需要先声明函数

在你的#includes语句之后写下这个

void navigasyon();

或者,您可以将功能放在主要功能之前。在C ++中,函数必须在使用之前声明,除非它放在main之前。

答案 2 :(得分:3)

在定义之前,您在navigasyon中使用main函数。您需要切换mainnavigasyon的地点,或在navigasyon之前声明main

答案 3 :(得分:2)

将'navigasyon'放在主要上方。

C ++要求在使用函数之前声明函数。这可以通过在使用之前放置整个函数或通过前向声明来完成,其中您之前只有签名。

答案 4 :(得分:2)

您需要在文件开头的navigasyon()函数声明,以便编译器在编译main()时知道它:

void navigasyon();

答案 5 :(得分:1)

您需要在使用之前声明该方法。在主要内容之前添加以下行:

static void navigasyon();

这将navigasyon声明为仅本地(静态)函数。为了进一步使用,你应该将decleration移动到.h文件,删除静态,当然还包括这个.h文件。