C++模数小程序问题
Posted
技术标签:
【中文标题】C++模数小程序问题【英文标题】:C++ modulus small program issue 【发布时间】:2011-01-19 11:32:56 【问题描述】:我正在尝试用 C++ 编写一个非常简单的程序,该程序可以找到两个数字的模数,如下所示:
#include <iostream>
using namespace std;
int n;
int d;
int modulus;
int main()
cout<<"***Welcome to the MODULUS calculator***";
cout<<"Enter the numerator, then press ENTER: ";
cin>>n;
cout<<"Enter the denominator, then press ENTER: ";
cin>>d;
modulus=n%d;
cout<<"The modulus is ---> "<<modulus;
return 0;
但是,当我尝试编译它时,我得到以下信息:
如何解决?
谢谢。
【问题讨论】:
您阅读错误信息了吗? 我查看了部分消息,但没有得到解决问题所需的内容。 我猜你必须明白编译器试图告诉你什么。信息相当简单。 @sharptooth。我移动了“int模数;”在“int main()”内部,它起作用了。但为什么?为什么我应该把它放在 main() 方法的本地?谢谢。 它的作用域改变了,所以它不再和结构冲突了。 【参考方案1】:您收到错误是因为您的全局变量 modulus
的名称与 std::modulus
冲突。要解决此问题,您可以:
modulus
设为局部变量
重命名modulus
变量
删除using namespace std
并从std
单独导入您需要的名称,或使用std::
限定它们
【讨论】:
【参考方案2】:因为你有 using namespace std;
它与 std::modulus 冲突
修正版:
#include <iostream>
using std::cout;
using std::cin;
int main()
cout<<"***Welcome to the MODULUS calculator***";
cout<<"Enter the numerator, then press ENTER: ";
int n;
cin>>n;
cout<<"Enter the denominator, then press ENTER: ";
int d;
cin>>d;
int modulus=n%d;
cout<<"The modulus is ---> "<<modulus;
return 0;
【讨论】:
以上是关于C++模数小程序问题的主要内容,如果未能解决你的问题,请参考以下文章