C ++打印除数功能的新增功能

时间:2018-12-06 06:38:50

标签: c++

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;
}

1 个答案:

答案 0 :(得分:2)

  

我在做什么错了?

printdivisors的返回类型为void。因此,术语printdivisors(n)等于void。您不能在void中插入cout。因此,

cout << "\nDivisors of " << n <<" are" << printdivisors(n);

是个问题。更改为:

cout << "\nDivisors of " << n <<" are";
printdivisors(n);