Помощь по си++

Собственно проблема в том, что getchar нельзя переименовывать, если переименовать, то всё идёт как сталь в масле.

#include

class h1
{
void getchar(int i);
};
void h1::getchar(int i){}

int main() {}

/*
Compiling TEST_HA.H:
Error TEST_HA.H 6: Wrong number of arguments in call of macro 'getchar'
Error TEST_HA.H 6: Declaration does not specify a tag or an identifier
Error TEST_HA.H 8: Wrong number of arguments in call of macro 'getchar'
Error TEST_HA.H 8: Identifier expected
Error TEST_HA.H 8: Declaration terminated incorrectly

Borland C++

Version 3.1

Copyright (c) 1990, 1992 by

Borland International, Inc.
*/

Это макрос: For

Это макрос:

For instance, take the getchar() routine. In stdio.h, this is declared as a macro, which accesses stdin->level, and stdin is again 
a macro for &_streams[0].

Нельзя дать функции такое имя, прояви фантазию, например operator[] используй. Ну ли не подключай stdio.h или сделай #undef getchar (но уж и не пользуйся им нигде в программе).

А gcc все супер

А gcc все супер скомпилил...
_________________
Fedora? rpm -Uhv emerge

Ну так это gcc.

Ну так это gcc. Судя по сообщениям об ошибке, в борландовском компиляторе getchar описали как макрос, можно считать это особенностью данного компилятора.

Я тебя

Я тебя благодарю. undef поюзать забыл

Ну так а что в

Ну так а что в файле TEST_HA.H накодино? или этот код из этого файла? Тогда почему .h когда должен быть .cpp?

---

---

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".