#include <iostream> // for std::cout
#include <iterator> // for std::size
int main()
{
int array[] = { 1, 1, 2, 3, 5, 8, 13, 21 };
std::cout << "The array has: " << std::size(array) << " elements\n";
return 0;
}
当我运行这段代码时,我得到了一些类似size不是std的成员的信息。任何意见,不胜感激。
答案 0 :(得分:3)
您的编译器不支持C ++ 17或没有通过编译器选项激活这种支持
在任何情况下,您都可以使用在标题std::extent
中声明的标准类模板<type-traits>
。例如
#include <iostream> // for std::cout
#include <type_traits> // for std::extent
int main()
{
int array[] = { 1, 1, 2, 3, 5, 8, 13, 21 };
std::cout << "The array has: " << std::extent<decltype( array )>::value << " elements\n";
return 0;
}