错误:未在此范围内声明变量!? C ++

时间:2014-10-08 07:35:54

标签: c++ loops if-statement

这是我的代码(main.cpp) -

void InstallFlag();

int main()
{
    char a;
    cout << "Would you like to proceed with the installation setup? Y/N : ";
    cin >> a;

    if (a==Y) 
    {
        InstallFlag(); 
    }
    else {
        return 0; 
    }
}

void InstallFlag()
{
    //Setup code here
}

我收到此错误: 错误,Y未在此范围内声明。 新手到C ++:D

4 个答案:

答案 0 :(得分:2)

您应该将答案与char进行比较,现在您要与未定义的变量进行比较。 所以,你的代码应该是:

if (a=='Y')
//your code here

答案 1 :(得分:0)

简单。 a ==&#39; Y&#39;。 Y是变量名,&#39; Y&#39;是char字面的。你没有定义Y变量,编译器是正确的

答案 2 :(得分:0)

当您在程序中使用某个变量时,需要声明,让变量为char类型,以便将其声明为 char Y; 当你用一些值初始化它时,我们说我们将它定义为 Y =&#39; A&#39 ;;

在你的情况下,问题是你必须在Y周围加上引号,比如

if (a=='Y') 

因为您的编译器认为Y是尚未声明的变量,所以错误。但是当您输入引号时,它会将其视为character literal

答案 3 :(得分:-1)

您的代码应如下所示

void InstallFlag();

int main()
{
    char a;
    cout << "Would you like to proceed with the installation setup? Y/N : ";
    cin >> a;

    if (a=='Y') 
    {
        InstallFlag(); 
    }
    else {
        return 0; 
    }
}

void InstallFlag()
{
    //your code 
}