繁体   English   中英

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

[英]Error: Variable was not declared in this scope!? C++

这是我的代码(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

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

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

简单的。 a == 'Y'。 Y 是变量名,'Y' 是字符文字。 你没有定义Y变量,编译器是对的

当你在你的程序中使用某个变量时,你需要声明它,让你的变量是一个char类型,这样你就可以像char Y一样声明它 当你用某个值初始化它时,我们说我们定义它像Y='A';

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

if (a=='Y') 

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

你的代码应该是这样的

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 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM