Sla (27.09.2004 14:07, просмотров: 4238)
C++ и IAR 2.3. Поможите, не могу жить лишь с конструктором по-умолчанию. Создаю проект, добавляю единственный файл в него:
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
class TTest
{
public:
TTest( unsigned char bitNum );
};
inline TTest::TTest( unsigned char bitNum )
{
}
TTest h = TTest( 1 );
void main( void )
{
while(1) {}
}
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
При сборке выдает сообщение:
Error[e46]: Undefined external "operator new(unsigned int)" reffered in main(V:\Class\Release\Obj\main.r90)
Если закомментировать "TTest h = TTest( 1 );", все собирается.
Если после этого убрать "inline" - то же сообщение.
Если не объявлять конструктора у класса и объявлять его экземпляр - все собирается.
Если объявить конструктор без параметров - то же сообщение.
В свойствах проекта в
"general->Library configuration->Library type" выбрана C/EC++ ANSI-library.
checkbox "ICCAVR->Language->Disable Embedded C++ syntax" не установлен.
Что делать?