[Bug c++/67248] New: Variable template cannot be used as dependent name
barry.revzin at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Aug 17 12:51:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67248
Bug ID: 67248
Summary: Variable template cannot be used as dependent name
Product: gcc
Version: 5.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: barry.revzin at gmail dot com
Target Milestone: ---
The following code:
struct Value
{
template<class T>
static constexpr T value = 0;
};
template<typename TValue>
struct Something
{
void foo() {
static_assert(TValue::template value<int> == 0, ""); // error
}
};
int main() {
Something<Value>{}.foo();
}
fails to compile with:
main.cpp:11:51: error: 'template<class T> constexpr const T Value::value<T>' is
not a function template
Accessing Value directly within foo() would compile:
static_assert(Value::template value<int> == 0, ""); // OK
More information about the Gcc-bugs
mailing list