It's very annoying to see a 10 kilometer STL error list just because you missed something that probably don't even have to do at all with the STL.
Any idea on how to remove these? or at least, get something clear.
It's very annoying to see a 10 kilometer STL error list just because you missed something that probably don't even have to do at all with the STL.
Any idea on how to remove these? or at least, get something clear.
This is an inherent problem to unconstrained templates.
When instantiating it will fail at the point of use, deeply nested sometimes, not at the point of call.
But there is hope, look at this: Concepts Lite. After this, if some day done, full featured concepts will come. These would enable even separate compilation. It would be really interesting, because this would be needed in modules. Modules will come somewhere from here I suspect: Clang modules
As for a solution, there are techniques such as static_assert
to make it fail eagerly, but this is not going to depend upon you.
There is a utility specifically designed to parse and simplify STL errors, because they are so wordy. (It's not designed to simplify arbitrary template errors, just STL.) See http://www.bdsoft.com/tools/stlfilt.html