g++ -lz -o unscrew unscrew.cpp
unscrew.cpp: In function ‘T swap_endian(T)’:
unscrew.cpp:23: error: there are no arguments to ‘static_assert’ that depend on a template parameter, so a declaration of ‘static_assert’ must be available
unscrew.cpp:23: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
unscrew.cpp: In function ‘T swap_endian(T) [with T = short int]’:
unscrew.cpp:159: instantiated from here
unscrew.cpp:23: error: ‘static_assert’ was not declared in this scope
g++ -lz -o unscrew unscrew.cpp
unscrew.cpp: In function ‘T swap_endian(T)’:
unscrew.cpp:23: error: there are no arguments to ‘static_assert’ that depend on a template parameter, so a declaration of ‘static_assert’ must be available
unscrew.cpp:23: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
unscrew.cpp: In function ‘T swap_endian(T) [with T = short int]’:
unscrew.cpp:159: instantiated from here
unscrew.cpp:23: error: ‘static_assert’ was not declared in this scope