gpt4 book ai didi

c++ - 转发声明映射的映射类型和 C++11

转载 作者:太空狗 更新时间:2023-10-29 21:01:36 24 4
gpt4 key购买 nike

<分区>

我使用过的大多数 C++ 编译器都接受以下内容

#include <map>

struct A;

struct B
{
typedef std::map<int,A>::iterator iterator;
std::map<int,A> test;
};

struct A
{
};

int main()
{
return 0;
}

然而,Apple clang 4.0 编译为

clang++ test.cpp -o test -std=c++11 -stdlib=libc++

产生错误集合,暗示 A 必须是完整类型才能使用 std::map。这是 map 的 libc++ 实现中的缺陷、C++11 强加的新要求还是我的错误假设?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com