Lek-sys/LeksysINI

LeksysINI: Trouble with C++17 and up

DJuego opened this issue · 1 comments

Hi! First; Thank you for your great contribution.

It is true that there are many libraries for .ini files but...

  • Header-only little gem
  • Crossplatform
  • Saves .ini files (not only parser reader ) with comments included.

Wow. I have not found any like. Congrats!

Now, i have my first problem. :-)

I am working in Windows10 x64 - Visual Studio 2017 with C++17 on.

I got:

1>------ Build started: Project: tablaev3_msvc2017, Configuration: Debug x64 ------
1>Opciones.cpp
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(185): error C2039: 'ptr_fun': is not a member of 'std'
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\iomanip(20): note: see declaration of 'std'
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(185): error C2065: 'ptr_fun': undeclared identifier
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(185): error C2062: type 'int' unexpected
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(191): error C2039: 'ptr_fun': is not a member of 'std'
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\iomanip(20): note: see declaration of 'std'
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(191): error C2065: 'ptr_fun': undeclared identifier
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(191): error C2062: type 'int' unexpected
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(248): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
1>QuizBD.cpp
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(185): error C2039: 'ptr_fun': is not a member of 'std'
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\iomanip(20): note: see declaration of 'std'
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(185): error C2065: 'ptr_fun': undeclared identifier
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(185): error C2062: type 'int' unexpected
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(191): error C2039: 'ptr_fun': is not a member of 'std'
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\iomanip(20): note: see declaration of 'std'
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(191): error C2065: 'ptr_fun': undeclared identifier
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(191): error C2062: type 'int' unexpected
1>p:\mis-proyectos\profesional\tablaev3\inc\leksysini\iniparser.hpp(248): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data

The problem (and a possible solution) seems described in:

https://stackoverflow.com/questions/44973435/stdptr-fun-replacement-for-c17

Do you consider upgrading LeksysINI to fully support c ++ 17 and higher?

Thanks!!

DJuego

Fixed in #7