args icon indicating copy to clipboard operation
args copied to clipboard

Example code doesn't compile with VS2017

Open BrodyHiggerson opened this issue 6 years ago • 1 comments

I just tried the basic example in a fresh C++ project in VS2017 on Windows and received the following:

1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2065: 'not': undeclared identifier 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2059: syntax error: '' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2143: syntax error: missing ';' before '{' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2143: syntax error: missing ')' before ';' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2143: syntax error: missing '>' before ';' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2976: 'std::enable_if': too few template arguments 1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\xtr1common(52): note: see declaration of 'std::enable_if' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2993: 'std::enable_if': illegal type for non-type template parameter '__formal' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2988: unrecognizable template declaration/definition 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2059: syntax error: '<end Parse>' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2447: '{': missing function header (old-style formal list?) 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2065: 'T': undeclared identifier 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2923: 'std::is_convertible': 'T' is not a valid template type argument for parameter '_From' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2143: syntax error: missing ';' before 'std::is_convertible' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2059: syntax error: ')' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(225): error C2039: 'type': is not a member of 'global namespace'' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(227): error C2143: syntax error: missing ';' before '{' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(227): error C2447: '{': missing function header (old-style formal list?) 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2146: syntax error: missing ')' before identifier 'and' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2143: syntax error: missing ';' before '{' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2143: syntax error: missing ')' before ';' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2143: syntax error: missing '>' before ';' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2976: 'std::enable_if': too few template arguments 1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\xtr1common(52): note: see declaration of 'std::enable_if' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2993: 'std::enable_if': illegal type for non-type template parameter '__formal' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2988: unrecognizable template declaration/definition 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2059: syntax error: '<end Parse>' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2447: '{': missing function header (old-style formal list?) 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2059: syntax error: ')' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2059: syntax error: ',' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(231): error C2039: 'type': is not a member of 'global namespace'' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(233): error C2143: syntax error: missing ';' before '{' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(233): error C2447: '{': missing function header (old-style formal list?) 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(268): error C2146: syntax error: missing ')' before identifier 'and' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(268): error C2993: 'std::string': illegal type for non-type template parameter '_Test' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(306): error C2955: 'args::argument_type': use of class template requires template argument list 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(243): note: see declaration of 'args::argument_type' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(306): error C2027: use of undefined type 'args::argument_type' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(243): note: see declaration of 'args::argument_type' 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(306): error C2065: 'none': undeclared identifier 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(315): error C2065: 'not': undeclared identifier 1>c:\users\brody\documents\visual studio 2017\projects\templatetests\templatetests\args.hpp(315): error C2146: syntax error: missing ';' before identifier 'eager_callbacks'

It's a shame because this looks nice and simple!

BrodyHiggerson avatar Dec 19 '17 11:12 BrodyHiggerson

I think this might be an easy fix by adding an include for iso646.h header.

pfultz2 avatar Dec 26 '17 03:12 pfultz2