Блог пользователя Peregrine_Falcon

Автор Peregrine_Falcon, история, 6 лет назад, По-английски

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.

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
6 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

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 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    I didn't know this. Thank you.

  • »
    »
    6 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    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.