I'm making a template to handle multiple accesses to the same name. In making my compression algorithm (and BitArray) I realize how much code is going into just forward referencing to things based on certain states.

I have the following head template (there's about 5 total with how I see it):


  template multiAccess(Type, string name, string attributes,
          choice, bool read, bool write, T ...) {
    static assert(T.length % 2 == 0,
          "Must be in pairs, AccessName & matching Value");
    //eponymous enum
    enum multiAccess =
multiAccessFunctions!(Type, name, attributes, choice, read, write, T);
  }


I'm calling it with:
  int choice;
  int a = 100;
  int b = 200;
  int c = 300;

writeln(multiAccess!(int, "test", "@safe nothrow pure", choice, true, true,
    a, 0,
    b, 1,
    c, 2));

 And I'm getting the error of:

Error: template instance multiAccess!(int, "test", "@safe nothrow pure", choice, true, true, a, 0, b, 1, c, 2) multiAccess!(int, "test", "@safe nothrow pure", choice, true, true, a, 0, b, 1, c, 2) does not match template declaration multiAccess(Type, string name, string attributes, choice, bool read, bool write, T...)

 Maybe something obvious but I'm not seeing it.

Reply via email to