Templated function as associative array property

biozic dransic at free.fr
Sun Mar 7 16:11:25 PST 2010

This problem might have been raised before, but I can't why this doesn't 
compile (except the last line), while a non-template version of the same 
code works well. Is this a bug?

module test;

template Graph(T)
     alias T[][T] Graph;

void add_edge(T)(ref Graph!(T) graph, T source, T target)
     graph[source] ~= target;

void main()
     Graph!(string) graph;

     graph.add_edge("A", "B");           // Error
     graph.add_edge!(string)("A", "B");  // Error
     add_edge(graph, "A", "B");          // Error
     add_edge!(string)(graph, "A", "B"); // OK

DMD 2.040, Mac OS X


More information about the Digitalmars-d-learn mailing list