Why does the following code not compile under g++ (C++14), MSVC (C++14), or ARM (C++03)?
The named Error instance calls the integer constructor, but the anonymous Er
main.cpp:19:18: error: no matching function for call to 'Error::Error()' Error(value_1);
The compiler tries to call the non-existent default constructor Error::Error() because it sees
Error::Error()
Error(value_1);
as a variable declaration
Error value_1;
A declaration is allowed to have redundant parenthesis.