I am using g++ 4.3.0 to compile this example :
#include int main() { std::vector< int > a; int b; }
If I compile
a is not a built-in type. You are actually calling the constructor of std::vector and assigning the result to a. The compiler sees this as usage because the constructor could have side effects.
std::vector