namespace M{
void f();
void M::f(){}
}
int main(){}
Приведенный выше код выдает ошибку примерно так:
"ComeauTest.c", строка 3: ошибка:
квалифицированное имя не допускается в
член пространства имен
декларация
пустота M :: f () {}
И
G ++ также выдает ошибку.
Но
VS2010 компилируется нормально.
Мои вопросы:
а) Какое поведение ожидается?
b) $ 7.3.1.2, похоже, не говорит об этом ограничении. Какая часть Стандарта определяет поведение такого кода?