Изучаю С++ по книге Р. Лафоре Объектно-ориентированное программирование. Дошел до "Перегруженные функции", есть такой пример:
// overload.cpp
// перегрузка функций
#include <iostream>
using namespace std;
void repchar(); //прототипы
void repchar(char);
void repchar(char, int);
int main()
{
repchar();
repchar('=');
repchar('+', 30);
return 0;
}
//-------------------------------------
// функция repchar()
// выводит на экран 45 символов '*'
void repchar()
{
for(int j=0, j<45, j++)
cout << '*';
cout << endl;
}
//-------------------------------------
// функция repchar()
// выводит 45 заданных символов
void repchar(char ch)
{
for (int j=0, j<45, j++)
cout << ch;
cout << endl;
}
//-------------------------------------
// функция repchar()
// выводит заданный символ заданное число раз
void repchar(char ch, int n)
{
for (int j=0, j<n, j++)
cout << ch;
cout << endl;
При попытке компиляции, ошибки:
[console][aivs@myhost cpp]$g++ overload.cpp -o overload
overload.cpp: В функции «void repchar()»:
overload.cpp:23:17: ошибка: expected initializer before «<» token
overload.cpp:23:17: ошибка: expected «;» before «<» token
overload.cpp:23:17: ошибка: expected primary-expression before «<» token
overload.cpp:23:25: ошибка: expected «;» before «)» token
overload.cpp: В функции «void repchar(char)»:
overload.cpp:33:18: ошибка: expected initializer before «<» token
overload.cpp:33:18: ошибка: expected «;» before «<» token
overload.cpp:33:18: ошибка: expected primary-expression before «<» token
overload.cpp:33:26: ошибка: expected «;» before «)» token
overload.cpp: В функции «void repchar(char, int)»:
overload.cpp:43:18: ошибка: expected initializer before «<» token
overload.cpp:43:18: ошибка: expected «;» before «<» token
overload.cpp:43:18: ошибка: expected primary-expression before «<» token
overload.cpp:43:25: ошибка: expected «;» before «)» token
[/console]
Области видимости переменных еще не прошел. До этого ошибок компиляции не было.
Я еще в С++ не силен, помогите разобраться. Не хочу оставлять этот пример без внимания.