August 09, 2008 Recursive Templates | ||||
---|---|---|---|---|
| ||||
I'm working on a set library that uses templates. The library centers around a class named Set. This class contains an array named elems that stores the set's elements. The definition for set is as follows: class Set (T) { ... T[] elems; ... } To calculate the cartesian product of two sets, I need to be able to represent higher order sets. I tried defining a function with the following signiture: static Set! (Set! (T)) product (Set! (T) a, Set! (T) b); Unfortunately, the dmd compiler throws an error stating that It does no allow recursive elements. Does anyone know how to work around this problem? |
Copyright © 1999-2021 by the D Language Foundation