2
vencoЦитата:
Там многоточие, в котором, скорее всего, public есть.
Наверняка. Ух уж эти многоточия.
Цитата:
Если же положить определение в отдельный файл, как и есть, насколько я понял, у автора, то работать может перестать
А, вы имеется ввиду, что не будет работать если объявление класса положить в первый файл, реализацию во второй, проверочный код в третий (подключив к нему первый как заголовок)? Ну да, разумеется не будет работать. Компилятор на самом деле все скомпилирует, правда наверняка выбросив warning типа inline function used but never defined. А вот компоновщик уже такое собрать не сможет... Вы правы (хотя warning'а может и не быть если слово
inline перенесено из объявления в определение; линкер же все равно должен буркнуть undefined reference).
Как и говорил
Maslov, реализации (определения) inline-функций должны быть видны отовсюду (т.е. они должны быть целиком доступны самому компилятору).
Тогда можно посоветовать
Nerazumovskiy вообще не делить объявление и реализацию перегруженного оператора (i.e. писать код прямо в объявлении класса), это позволит сэкономить на ключевом слове
inline.