小编thu*_*ish的帖子

为什么 std::size() 不是 gcc 8.2.0 中 std 的成员

我正在尝试自学一些 C++17。

为什么编译器会为以下代码片段抛出错误?

#include <iostream> 
#include <vector>
#include <iterator>

int main() 
{
    std::vector<int> v = { 3, 1, 4 };
    std::cout << std::size(v) << '\n'; 

    int a[] = { -5, 10, 15 };
    std::cout << std::size(a) << '\n';
}
Run Code Online (Sandbox Code Playgroud)

编译器抛出以下错误

manish@Manish-Tummala:~/c_files$ g++ 6.cpp -o - 6.out
6.cpp: In function ‘int main()’:
6.cpp:8:23: error: ‘size’ is not a member of ‘std’
     std::cout << std::size(v) << '\n';
                       ^~~~
6.cpp:8:23: note: suggested alternative: ‘size_t’
     std::cout << std::size(v) << '\n';
                       ^~~~
                       size_t
6.cpp:11:23: error: …
Run Code Online (Sandbox Code Playgroud)

c++ gcc g++ standard-library

8
推荐指数
1
解决办法
3710
查看次数

标签 统计

c++ ×1

g++ ×1

gcc ×1

standard-library ×1