Wystąpił błąd podczas kompilowania poniżej kodu.decltype jako typ zwrotu w funkcji członka klasy
struct B{
double operator()(){
return 1.0;
}
};
struct A {
auto func() -> decltype(b())
{
return b();
}
B b;
};
Jednak, jeśli zmienię organizację A
, kompiluje się.
gcc 4.8 powiedział, że "b" nie został zadeklarowany w tym zakresie.
struct A {
B b;
auto func() -> decltype(b())
{
return b();
}
};
Co jest nie tak z pierwszym?
Należy bardziej szczegółowo, o co starasz się zapytać. "Czy to jest ważne?" może być nieco zbyt ogólnikowe, aby społeczność w pełni zrozumiała, o co prosisz. –
@JeffWolski: Tak, zgadzam się, więc poprawiłem brzmienie :) – Sungmin