[英]G++-4.7.0 Internal Compiler Error Segmentation Fault with recursive type alias
#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>;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.