2016-03-10 1 views
-1

This post обрабатывает ту же ошибку, но плакат не имеет проблем с функцией void.нет соответствия для оператора '<<' Может ли кто-нибудь помочь с ошибкой функции void? [C++]

This сообщение относится к типу функции «пустота», но плакату рекомендуется изменить тип функции на «строку», что не помогает моему делу.

Мой код выполняет штраф, за исключением буква «0» в конце вывода. Когда я меняю тип функции на «void», меня встречает ошибка выше.

Я прошел через учебное пособие по этому много раз и тщательно искал, но не смог решить эту проблему.

//my code 
#include <iostream> 
using namespace std; 

int intervalcountdown (int a, int b) { 
    for(a; a>0; a = a - b) { 

     cout << a; 

     if(a<=b) { 

     break; 
     } 

     cout << ","; 


    } 
    cout << "."; 
    return 0; 
} 


int main() { 
    cout << intervalcountdown(20,3); 
    return 0; 
} 

ответ

0

Просто не печатайте то, что вы не хотите.

#include <iostream> 
using namespace std; 

void intervalcountdown (int a, int b) { // change return type to void 
    for(; a>0; a = a - b) { // meaningless a is removed 

     cout << a; 

     if(a<=b) { 

      break; 
     } 

     cout << ","; 


    } 
    cout << "."; 
    // remove the return statement because the return type is now void 
} 


int main() { 
    intervalcountdown(20,3); // remove extra printing 
    return 0; 
} 
+0

Это было довольно просто. Я не смог удалить дополнительную печать после изменения типа «void» и удаления «return 0;». По какой-то причине у меня создается впечатление, что «cout <<» все еще необходимо где-то в функции main(). Я все еще не уверен, почему мы не используем «cout <<» перед вызовом функции. – CppWiz

Смежные вопросы