C ++的新手,只是尝试做一个基本功能,在此我可以打印数字的除数,而不是数字本身。 IE的6除数将返回1,2,3。我不断收到错误消息:
与“ operator <<”不匹配(操作数类型为 ‘std :: basic_ostream’和‘void’)
我在做什么错了?
#include<iostream>
using namespace std;
int x;
void printdivisors(int x){
int i;
for(i=1;i<=x;++i)
{
if(x%i==0)
cout<<" "<<i;
}
};
int main(){
int n;
cout<<"Enter a number: ";
cin>>n;
cout << "\nDivisors of " << n <<" are" << printdivisors(n);
return 0;
}
答案 0 :(得分:2)
我在做什么错了?
printdivisors
的返回类型为void
。因此,术语printdivisors(n)
等于void
。您不能在void
中插入cout
。因此,
cout << "\nDivisors of " << n <<" are" << printdivisors(n);
是个问题。更改为:
cout << "\nDivisors of " << n <<" are";
printdivisors(n);