又学一招!二维向量vector<vector<int>>在VC下的使用技巧。
随着对c++学习的逐步加深, 发现STL确实是个好咚咚。vector是我用到的第一个STL容器,它一直吸引我学习和使用STL。但当我用到二维的vector时(比如 vector<vector<int>>),却发现似乎不能用。我用的VC6就是不认它,竟报“error C2146: syntax error : missing ',' before identifier”。凭直觉,我觉得这不应该。网上一搜,类似这样的用法的代码比比皆是。看来是VC6太弱了,竟然不理解 vector<vector<int>>为何物!无奈之下只能暂时放弃,另谋它途。然而一直耿耿于怀。
今天为了写一个算法,又要用到二维向量。这次决定追根究底。搜索了大半天,所有相关的文章、帖子都仔细地看了,终于在一个讨论“error C2653: 'std' : is not a class or namespace name”的问题的帖子中找到了答案。
那位达人说要在VC中用二维向量唯一的解决之道就是把它写成以下形式:
随着对c++学习的逐步加深, 发现STL确实是个好咚咚。vector是我用到的第一个STL容器,它一直吸引我学习和使用STL。但当我用到二维的vector时(比如 vector<vector<int>>),却发现似乎不能用。我用的VC6就是不认它,竟报“error C2146: syntax error : missing ',' before identifier”。凭直觉,我觉得这不应该。网上一搜,类似这样的用法的代码比比皆是。看来是VC6太弱了,竟然不理解 vector<vector<int>>为何物!无奈之下只能暂时放弃,另谋它途。然而一直耿耿于怀。
今天为了写一个算法,又要用到二维向量。这次决定追根究底。搜索了大半天,所有相关的文章、帖子都仔细地看了,终于在一个讨论“error C2653: 'std' : is not a class or namespace name”的问题的帖子中找到了答案。
那位达人说要在VC中用二维向量唯一的解决之道就是把它写成以下形式:
vector