я получаю сообщение об ошибке компиляции, говорящее Error no operator matches these commands
, хотя я просто использовал их 5 строк назад.
Если это относится к перехваченному вами сообщению, значит вы ошибаетесь. Как и все другие функции, операторы могут быть перегружены в C ++. Это означает, что может быть несколько функций, использующих одно и то же имя , при условии, что они принимают разные аргументы (или являются либо const
, либо не являются функциями-членами).
Имя переменной numEmployees
выглядит для меня так, как если бы оно указывало на число , тогда как employeeName
, скорее всего, относится к строке . Так что это вызовет две разные перегрузки из operator>>()
для ввода этих переменных.
По причинам, которые я здесь опускаю, чтение перегрузки operator>>()
в строку определено в заголовке <string>
, в то время как значения для встроенных типов (int
и т. Д.) Определены в <istream>
, который вы обычно получаете, включая <iostream>
.
Итак, учитывая ту небольшую информацию, которую вы нам дали, это длинный выстрел, но Полагаю, вам не хватает #include <string>
.