c ++和类型size_type

时间:2016-02-05 18:20:35

标签: c++ visual-studio stl

以下代码片段无法编译:

#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();

我正在使用Microsoft Visual Stdio,但我不希望这是依赖于编译器的。我认为问题是我没有包含正确的标题。我应该包括什么标题?

鲍勃

1 个答案:

答案 0 :(得分:4)

size_type是您正在使用的容器的从属名称。你需要

std::vector<int>::size_type

您可以使用std::size_t,因为size_type通常归结为std::vector<int>::size_type,但auto s1 = list1.size(); 保证是正确的。

如果您使用的是C ++ 11或更高版本,那么您可能会忘记这些细节,只需使用

即可
$('td', contains('some text')).parent() // this should give you the row

编译器将推断出正确的类型,如果您更改容器类型,则需要更改此行。