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.