Use of C++ language standard depends on ROOT version used.
c++17 cannot be hard-wired in the Makefile as ROOT needs needs to be compiled with the same language standard.
root-config --cflags
-pthread -std=c++14 -m64 -I/usr/include/root
For some ROOT installation this might yield std=c++17 and accidentally work.