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
  • 32,867
  • 38
  • 193
  • 353

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
  • 348,265
  • 75
  • 913
  • 977