template <int N>
struct Series {
enum { value = N + Series<N - 1>::value };
};
latest #32
template <>
struct Series<1> {
enum { value = 1 };
};
std::cout << "Series<0> = " << Series<0>::value << std::endl;
你上面的初始值給 1 的部份啊,所以印 Series <0> 就會陷入找不到 Series <- infinite> 的狀況...
只有在 Series <i>, i 屬於自然數的時候才能夠不發生core dump吧...
yes, Series<0>會達不到終止條件,所以compiler就一直努力的工作,然後把IDE搞掛,想試試看VS是不是也會掛XD...
這會掛在compile time不是在runtime
嗯啊,因為他是 compile 的時候 check condition 啊
我剛剛用 gcc 試過有發現,不過我沒有 Xcode 所以不知道 IDE 會發生什麼事
烤餅乾嗎?
back to top