auto
işlevinin dönüş türünü almaya çalışıyorum. This works: Bir sınıf kapsamında bir static auto
işlevin dönüş türünü alma:Sınıf kapsamı içinde neden sınıf-statik otomatik işlevimin türüne ulaşılamıyor?
auto foo(int bar)
{
return 0;
}
typedef std::result_of<decltype(foo)> foo_t;
Büyük, burada daha sonra sonraki adım. This also works:
struct Foo
{
static auto foo(int bar)
{
return 0;
}
};
typedef std::result_of<decltype(Foo::foo)> foo_t;
Ama this doesn't work:
struct Foo
{
static auto foo(int bar)
{
return 0;
}
typedef std::result_of<decltype(Foo::foo)> foo_t;
};
GCC "hatası: 'auto' düşülmeden 'statik oto Foo :: foo (int)' kullanımı" diyor, Clang diyor "fonksiyonu ' "Getirilen getiri türü ile foo ', tanımlanmadan önce kullanılamaz". Niye ya?
Sanırım std :: result_of :: type 'yazmak istediniz değil mi? –
@ O'Neil Adil bir şans var, bunun nasıl çalıştığına dair hiç bir fikrim yok ... – zneak