Peregrine_Falcon's blog

By Peregrine_Falcon, history, 8 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.

»
8 years ago, hide # |
 
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.

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

    I didn't know this. Thank you.

  • »
    »
    8 years ago, hide # ^ |
     
    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.