Всем привет! Я столкнулся довольно со странной ошибкой при компиляции в Visual Studio. Выглядит она, как обычная ошибка синтаксиса:
c:\proj\conslib\conslib\console.h(153) : error C2061: syntax error : identifier 'PCONSOLE_SELECTION_INFO'
Вот собственно на это ругается компилятор:
//console.h
class CConsole
{
public:
CConsole();
~CConsole();
//error C2061: syntax error : identifier 'PCONSOLE_SELECTION_INFO'
BOOL GetSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo) const;
};
//console.cpp
BOOL CConsole::GetSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo) const
{ return ::GetConsoleSelectionInfo(lpConsoleSelectionInfo); }
Вся собственно странность состоит в том, что если вместо PCONSOLE_SELECTION_INFO, в объявлении функции написать void*, откомпилировать, затем обратно поменять на PCONSOLE_SELECTION_INFO и откомпилировать снова, то ошибка исчезает.
И соответственно, если почистить проект "Clean Solution" ошибка появляется снова.
Пробовал компилить в студиях 2003, 2005, 2008... эффект везде один.