IAR выдает ошибку на такой код(упрощено до минимума)
CODE
class Base
{
public:
Base(){}
};
class Derv1:public Base
{
public:
Derv1():Base(){}
};
class TInterface
{
public:
TInterface()
{
Base* pBase =&Derv1(); /*не работает - Error[Pe158]: expression must be an lvalue or a function designator // */
}
};
int main()
{
TInterface Interface;
while(1);
}
Не понимаю смысла ругани в данном случае. MSVC 2008 ест такой код без проблем
А вот так работает
CODE
class Base
{
public:
Base(){}
};
class Derv1:public Base
{
public:
Derv1():Base(){}
};
class TInterface
{
public:
TInterface()
{
Derv1 dv1;
Base* pBase =&dv1;
}
};
//-----------------------------------------------------------------------------/
int main()
{
TInterface Interface;
while(1);
}
Какого &*% ему надо?