2

I want to use the below garbage collector, but when I would compile I get a lot of error with GCC but not with VSC++, i.e this.

list<GCInfo<T> >::iterator p; ---> Expected ';' after expression

And here is the library.

http://www.devarticles.com/c/a/Cplusplus/A-Simple-Garbage-Collector-for-C-plus-plus/3/

János
  • 29,667
  • 30
  • 151
  • 300

1 Answers1

6

Assuming T is a template parameter, you need a typename:

typename list<GCInfo<T> >::iterator p;
^^^^^^^^

For more about when and why typename is required, see the Stack Overflow C++ FAQ "Where and why do I have to put template and typename on dependent names?"

Community
  • 1
  • 1
James McNellis
  • 338,529
  • 73
  • 897
  • 968