Bob*_*Bob 1 c++ stl visual-studio
以下代码片段无法编译:
#include <vector>
#include <string.h>
#include <cstddef.h>
#include <stddef.h>
using namespace std;
vector<int> list1{1,3,5,7,11};
size_type s1 = list1.size();
Run Code Online (Sandbox Code Playgroud)
我正在使用 Microsoft Visual Stdio,但我不希望它依赖于编译器。我相信问题是我未能包含正确的标头。我应该包含什么标题?
鲍勃
size_type是您正在使用的容器的从属名称。你需要
std::vector<int>::size_type
Run Code Online (Sandbox Code Playgroud)
您可以使用std::size_t,因为这size_type通常归结为但std::vector<int>::size_type保证是正确的。
如果您使用的是 C++11 或更高版本,那么您可以忘记这个细节,只需使用
auto s1 = list1.size();
Run Code Online (Sandbox Code Playgroud)
编译器将推导出正确的类型,如果您更改了容器类型,则确实需要更改此行。
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |