Why does the following code compile without warnings. Notice that blablabla() is not defined anywhhere.
I tested it in gcc 5.1.0
and clang-3.7.0
(with and without the -std=c++11 flag).
#include <string>
int main()
{
std::string(blablabla());
}
This questions is not a duplicate of the most vexing parse ambiguity, since related examples declare functions with a parameter.