delta_4d's blog

By delta_4d, 10 years ago, In English

For CF223C, I wrote a solution with segment tree, but the same code got different results with different C++ compiler.

7338858 in g++ got RTE, but the same code 7338855 in MSC++ got AC.

why does this happen, is it possible that g++ has some problems or the code has some serious flaws that g++ find out but MSC++ doesn't.

Tags g++
  • Vote: I like it
  • +13
  • Vote: I do not like it

»
10 years ago, # |
  Vote: I like it +24 Vote: I do not like it

or the code has some serious flaws that g++ find out but MSC++ doesn't

Yes it is. You're trying to declare function T(int a, int b, int c) with unknown return type, because it is wrapped into anonymous struct st.

--- struct {
+++ struct SegmentTree {

-- will fix this error

  • »
    »
    10 years ago, # ^ |
      Vote: I like it +21 Vote: I do not like it

    thanks! it's fixed. I think I will always name a struct in the future.

    sorry, I still don't fully understand it. T(int,int,int) is the constructor in struct T. what difference does anonymous struct make, why RTE though?