noexcept: различное поведение на clang++ и g ++
#include <iostream>
using namespace std;
class A
{
public:
void g() noexcept {}
void f() noexcept( noexcept( g() )) {};
};
A a;
int main()
{
cout<<noexcept(a.f())<<endl;
return 0;
}
Когда я пытаюсь скомпилировать эту программу с помощью gcc 5.1.1, я получаю сообщение об ошибке -
Ошибка: невозможно вызвать функцию-член без объекта 'void A::g()'
|| void f() noexcept( noexcept( g())) {};
Тем не менее, в Clang++3.6 это может быть скомпилировано и вывод 1
Есть ли способ решить эту проблему?