m1cky
02-11-2005, 05:36 AM
Hello,
we have a template problem while upgrading from VC6 to VC7.
Normally only used member functions of a template are instantiated (compiled).
For example if there is a template class which has 3 methods, but only 2 of them are used in my code the third function is not evaluated/compiled.
This seems to work with VC7 as well as with VC6.
Well, if i compile our software i get an error cause the compiler instantiates one method of std::list which it should not compile !
This can have 2 reasons:
- That uncomileable method is used somewhere in the code. I would not expect that since the code is still compileable with VC6
- Under some circumstances the compiler is forced to compile all (even unused) template methods
I need an answer to the second point, had someone same problems or have an solution for this ?
Thx
we have a template problem while upgrading from VC6 to VC7.
Normally only used member functions of a template are instantiated (compiled).
For example if there is a template class which has 3 methods, but only 2 of them are used in my code the third function is not evaluated/compiled.
This seems to work with VC7 as well as with VC6.
Well, if i compile our software i get an error cause the compiler instantiates one method of std::list which it should not compile !
This can have 2 reasons:
- That uncomileable method is used somewhere in the code. I would not expect that since the code is still compileable with VC6
- Under some circumstances the compiler is forced to compile all (even unused) template methods
I need an answer to the second point, had someone same problems or have an solution for this ?
Thx