Проблемы с gnu компилером
От: Evgeniy13 Россия  
Дата: 11.10.06 13:11
Оценка:
Господа, возникло несколько проблем с gcc компилятором. До этого писалось все на MSVS 7.1.

1) В gcc осуществляется поиск имен в функциях шаблонных классов.
Например:

template <class T>
struct A {
   int f() { return sin(5); }
};


В вижаке анализ тела функции происходит только в случае вызова метода. Соотв. в классах, где A::f() не используется
и не определена функция sin — все отлично компилируется и работает.

Собственно, проблема в том, что выражение sin(5) от шаблонного аргумента не зависит, и, соответственно, gcc может сразу сделать поиск имен...

Можно ли отключить эту модную "фичу"? Какие ключики для gcc обычно используются?

2) Вторая проблема — gcc начал ругаться на запись вида

struct A {
  virtual void f() = 0 {}
};


Якобы нельзя одновременно говорить, что функция абстрактная и определять ее тело.
Является ли данная запись стандартной и можно ли указать какаой-нибудь ключик, чтобы это дело заработало?..

Буду мегаблагодарен за любые советы.
Не все в этом мире можно выразить с помощью нулей и единиц...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.