Peregrine_Falcon's blog

By Peregrine_Falcon, history, 6 years ago, In English

In G++17 7.3.0. I've tried to use struct in the following way. But it shows me compilation Error. I've tried in Custom test . In this AC Code I just added struct, but this shows me compilation error.But here with G++14, It's running very well.

»
6 years ago, # |
  Vote: I like it +4 Vote: I do not like it

It's because std::data is a keyword in C++17. You imported that with the statement using namespace std. So, create a new namespace(or don't use using namespace std), or just change the name of your struct.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I didn't know this. Thank you.

  • »
    »
    6 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Looking at the content on the link you've provided, I wouldn't call it a keyword, it's just a function. Keyword would've meant that I cannot declare this in the main function int data = 1; but indeed I can. But its good to know that I cannot declare a global variable named data. I have encountered this problem with some variable earlier and if I encounter this on compile time, I simply put this at the top before declaration: #define data dt or something similar. BTW, Thanks for the info on data being a predefined function.

    • »
      »
      »
      6 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      You're right. I did use a wrong description, and thanks for your reminding.:)