Следующий код компилируется просто отлично, и я не уверен, почему. Может кто-нибудь объяснить мне, почему это законно?
Я использую g++ (Debian 6.1.1-10) 6.1.1 20160724 для компиляции.
#include <iostream>
int sum(int x, int y) { return x + y; }
int main(int argc, char *argv[])
{
using std::cout;
int (*) (int, int) = ∑
cout << "what" << '\n';
}
Добавление
Следующая программа компилируется с использованием g++ версии 5.4.0, но не компилируется в gcc.
int main()
{
int (*) = 20;
}