Нет соответствия для operator>>

#c

#c

Вопрос:

в нем говорится, что есть проблема с этой функцией. Он должен получать входные данные от пользователя для количества упорядочиваемых буферов, а затем выводить полученные входные данные. (подумываю добавить диалоговое окно подтверждения, если есть время).

 /********************************************/
// Name: inspools                            /
// Description: Ask for and get number of    /
// spools                                    /
// Parameters: N/A                           /
// Reture Value: spoolnum                    /
/********************************************/
int spoolnum()
{
  int spoolnum;

  cout << "Number of spools to be shipped: " << endl;
  cin >> spoolnum;
  cout >> spoolnum >> " spool(s) of wire will be shipped" >> endl;

  return;
}
  

Ответ №1:

У вас есть стрелки назад в этой строке:

 cout >> spoolnum >> " spool(s) of wire will be shipped" >> endl;
  

это должно быть:

 cout << spoolnum << " spool(s) of wire will be shipped" << endl;
  

И ваш return оператор должен что-то возвращать:

 return spoolnum;
  

Комментарии:

1. спасибо, что исправил эту проблему, но теперь он говорит: » ошибка: оператор return без значения в функции, возвращающей int», хотя я его объявил. вот полный код:

2. Да, ваш return оператор должен что-то возвращать. Попробуйте это return 0;

3. return spoolnum; может быть лучше, чем return 0; если вы хотите, чтобы код соответствовал документации.

Ответ №2:

ДА.. вам нужно использовать << with cout .

ostream оператор не перегружен для >> и, следовательно, ошибка, которую вы видите.

Ответ №3:

 cout << spoolnum << " spool(s) of wire will be shipped" << endl;
  

и ваш оператор return должен возвращать spoolnum:

 return spoolnum;
  

Ответ №4:

Эта строка:

cout >> spoolnum >> " spool(s) of wire will be shipped" >> endl;

Должно быть:

cout << spoolnum << " spool(s) of wire will be shipped" << endl;