使用模板初始化结构

Jer*_*oen 2 syntax templates struct d

使用模板初始化结构的正确方法是什么?

这似乎不起作用:

struct Point3(T) if(isNumeric!T) {
        T x;
        T y;
        T z;
}

enum Blocksize = Point3!ubyte{x:32, y:32, z:32};
Run Code Online (Sandbox Code Playgroud)

Vla*_*eev 5

您似乎混合了两种不同的语法:

  1. 结构初始化器:

    enum Point3!ubyte Blocksize = {x:32, y:32, z:32};
    
    Run Code Online (Sandbox Code Playgroud)
  2. 结构文字:

    enum Blocksize = Point3!ubyte(32, 32, 32);
    
    Run Code Online (Sandbox Code Playgroud)

以上两种都可行.