редкий гость
Сообщения: 1696
Благодарности: 44
|
Профиль
|
Сайт
|
Отправить PM
| Цитировать
KEKS-KEKS
В C++ любая функция должна быть объявлена (или определена полностью) _до_ её первого использования. В первый раз функция Accumulator используется в TestOK, т.е. _до_ её определения.
В языке си так делать можно было. При этом тип формальных аргументов функции определялся по типу фактических. А типом результата объявлялся int. Таким образом при первом использовании функции Accumulator вы _неявно_ определяете её как "int Accumulator (char , float);". Но позже (уже явно) определяете как "float Accumulator (char , float);", т.е. с точки зрения компилятора пытаетесь перегрузить её по типу результата, чего делать нельзя (на что он и ругается).
Но вообще ваш компилятор не прав (ибо старенький, бедняжка), в том, что пытается быть похожим на C. В C++ использовать функцию предварительно её не объявив нельзя вообще, и поэтому в первый раз компилятор д.б. ругнуться ещё на строку 25, сказав, что ему неизвестна функция Accumulator. Именно так делает, например, мой компилятор (g++4).
|
-------
http://ivank.ru
Отправлено: 01:22, 06-11-2007
| #10
|