2017-02-23 66 views
-1

我是C++和一般编程的新手。当我在Cygwin的编译器来编译我的代码,我给出的错误:变量设置但未使用? (C++)

insurance.cpp: In function ‘int main()’: 
insurance.cpp:14:5: warning: variable ‘premium’ set but not used [-Wunused-but-set-variable] 
int premium = 0; 

这里是我的代码:

#include <iostream> 
using namespace std; 

int main() { 
string maritalStatus; 
int age; 

cout << "Enter marital status (s=single, m=married): "; 
cin >> maritalStatus; 

cout << "Enter your age in years: "; 
cin >> age; 

int premium = 0; 

if (maritalStatus == "m") { 
if (age < 21) { 
    premium = 1200; 
} else if (age <= 29) { 
    premium = 1000; 
} else { 
    premium = 800; 
} 
} else { 
if (maritalStatus == "s") { 
    if (age < 21) { 
     premium = 1500; 
} else if (age <=29) { 
    premium = 1200; 
} else { 
    premium = 1000; 
} 
} 
} 
return 0; 
} 

任何帮助,将不胜感激,谢谢。

+1

你只设置了这个变量,但从不做任何事情。像'std :: cout >> premium >> std :: endl;'会使警告消失。 –

+0

无论如何,这是一个警告,不是错误 – Danh

回答

1

您已分配premium并将其初始值设为零。然后,您可以根据某些条件对其进行编辑。但是,你从来没有得到任何好处。

例如,您没有打印它。你没有将它传递给另一个函数。你没有将它用作另一个表达式的一部分。简单来说,premium是无用的变量,在你的代码中无关。

如何解决这个问题?

这取决于你想要做什么premium。如果你真的不想做任何事情,只需删除它并删除与之相关的任何内容即可。如果你想例如打印出来,你可能会在年底加入这一行(以前return 0):

std::cout << premium; 

问题的答案取决于你的用例。

+0

我该如何解决这个问题?谢谢回复。 –