Consider this
void f(vector& p) { } int main() { vector nonConstVec; f(nonConstVec); }
The followi
vector and vector are unrelated types. The fact that T can be converted to const T doesn't mean a thing here.
vector
T
const T
You have to think about it from a type system's standpoint. Instantiated vector doesn't have anything in common with vector.