gpt4 book ai didi

c++ - G++-4.7.0 内部编译器错误段错误与递归类型别名

转载 作者:搜寻专家 更新时间:2023-10-31 01:13:39 26 4
gpt4 key购买 nike

#include <memory>

template<typename T>
using CallbackPtr = const std::shared_ptr<const T>;

template<typename C, typename T>
using CallbackFunPtr = void (C::*)(CallbackPtr<T>);

int main () {
return 0;
}

结果:

7 : internal compiler error: Segmentation fault
Please submit a full bug report, with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
Compilation failed

我是否在此处执行了 C++ 标准之外的操作,而 G++ 还没有错误消息?或者这是一个真正的编译器错误?

最佳答案

您的代码很好,这是一个编译器错误。您可能想找到最小的测试用例并报告它。在我的 gcc-4.7.1 拷贝上,这个

template<typename T> struct A{};
template<typename T> using B = const A<T>;
B<int> x;

足以给我一个 ICE。罪魁祸首是这里的const。您的示例在将 CallbackPtr 定义为

时编译
using CallbackPtr =  std::shared_ptr<const T>;

关于c++ - G++-4.7.0 内部编译器错误段错误与递归类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12251067/

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