On Friday, 5 April 2019 at 14:47:42 UTC, Sjoerd Nijboer wrote:
So the following code doesn't compile for some reason, and I
can't figure out why.
enum MyEnum { A, B, C }
class MyClass(MyEnum myEnum)
{
/*...*/
}
int main()
{
MyClass!MyEnum.A a;
}
The error: Error: template instance `MyClass!(MyEnum)` does
not match template declaration `MyClass(MyEnum myEnum)`
pops up, no matter what I do.
You wrote:
MyClass!MyEnum.A a;
Which is equivalent to
MyClass!(MyEnum).A a;
What you want is
MyClass!(MyEnum.A) a;