C++ 嵌套while循环中的作用域变量
有人能帮我解决这个问题吗 我需要我的程序来识别custID。我编译,它说custID没有在这个范围内声明。我正试图从文本文件中读取此内容C++ 嵌套while循环中的作用域变量,c++,while-loop,scope,nested,C++,While Loop,Scope,Nested,有人能帮我解决这个问题吗 我需要我的程序来识别custID。我编译,它说custID没有在这个范围内声明。我正试图从文本文件中读取此内容 while (infile) { infile >> init; infile >> custID >> planType; while(init != '\n' || !'<eof>') { infile >> phone_n
while (infile)
{
infile >> init;
infile >> custID >> planType;
while(init != '\n' || !'<eof>')
{
infile >> phone_num >> minutes >> texts >> gigs;
stepOneTotal = stepOneFunc(planType , phone_num , minutes , texts , gigs);
sum += stepOneTotal;
counter += 1;
}
stepTwoFunc(custId , sum , acctData);
stepThreeFunc(custID , planType , counter , sum);
grandTotal += sum;
counter = 0;
sum = 0;
}
while(填充)
{
内嵌>>初始化;
infle>>custID>>planType;
while(init!='\n'| |!'')
{
填充>>电话号码>>分钟数>>文本>>演出;
stepOneTotal=stepOneFunc(植物类型、电话号码、分钟、文本、演出);
总和+=一步之和;
计数器+=1;
}
stepTwoFunc(客户ID、金额、账户数据);
stepThreeFunc(客户ID、PlantType、计数器、总和);
总计+=总和;
计数器=0;
总和=0;
}
只需在第一个循环中声明planType
,然后再分配给它。请避免显示缩进的点,让实际缩进显示缩进。有了这些点,我们就更难复制代码片段并自己尝试了。至于你的问题,你能详细说明一下吗?变量的作用域是声明它的作用域以及其中的所有嵌套作用域。这意味着如果在进入外部循环之前声明planType
,则范围包括外部循环以及任何内部循环或其他块。你的代码没有编译吗?你有什么问题?对。。。代码不编译。我认为不应该有任何问题。当我编译时,出现了一个错误,说custID未在此范围内声明。与您的问题无关,但您似乎在使用>
运算符的结果,而没有测试它们是否成功(这可能导致未定义的行为)。当然,!”代码>将始终为false。(从形式上讲,它有一个实现定义的值,因此在不知道实现的情况下我们无法确定。但实际上,我无法想象'
的实现将是0
)您同时使用custId
和custId
。我怀疑其中一个是错的。