将向量的大小()转换为 int 不起作用



我正在即时学习C ,并且对向量有问题,所以我正在编写一些使用向量熟悉它们的程序。

我正在遵循这篇文章的建议,以打印出向量大小((调用的值:

如何将std ::向量的大小作为int?

我的代码是一个简单的C 代码:

#include <vector>
int main(int argc, char ** argv) {
   /* create an int vector of size 10, initialized to 0 */
   std::vector<int> int_list[10];
   int int_list_size;
   int_list_size = static_cast<int>(int_list.size()); // <-- compilation error here
} // End main()

我在ubuntu 16.04上,我得到了这个错误:

"error: request for member 'size' in 'int_list', which is of non-class type 'std::vector<int> [10]'

由于vector int_list的尺寸为10,所以size bize return 10不应该返回10,然后我可以将其施放为int?

您不是在创建向量,而是创建向量的数组:

std::vector<int> int_list[10];

您应该使用:

std::vector<int> int_list(10);

请参阅:

  • https://www.cplusplus.com/reference/vector/Vector/Vector/Vector/
  • https://en.cppreference.com/w/cpp/container/vector/Vector/Vector

最新更新