I'm trying to incorporate c++ stl constructs into the %union { } block of yacc. Specifically, I'm trying to do something similar to this:

%union {
...
   std::list<unsigned int>* int_list;
...
}

This yields the error:

eidd.y:100: error: using-declaration for non-member at class scope
eidd.y:100: error: expected `;' before '<' token


One solution to this (and the solution I used), is to define
a simple class that wraps a pointer of this type.  This works fine, but
it is a bit of a kludge, and I'm really curious why the direct stl
reference doesn't work. Can anybody explain this to me or point me to a reference?

Thanks,
Randy smith



_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to