Clang konfrontiert mich hier gerade mit einer seltsamen Fehlermeldung. Ohne viele Worte zu verlieren, hier mal ein Beispiel:
Code: Alles auswählen
template<typename ...types>
struct foo {
template<unsigned int i>
void bar() { /* do something */ }
template<unsigned int i>
static void static_bar() { /* do something */ }
};
template<typename ...types>
void function() {
foo<int, float> foo_test;
foo_test.bar<42>(); // kein Problem
foo<types...> foo_test2;
foo_test2.bar<42>();
// ^ error: expected expression
foo<int, float>::static_bar<42>(); // kein Problem
foo<types...>::static_bar<42>();
// ^ error: expected expression
}
Meine Frage ist nun: Ist das normal so? Oder ist das ein Problem von clang?
Danke schonmal!