#include <iostream>
class A {};
typedef int (*j)() throw(A);
int f()
{
std::cout << "function f" << std::endl;
return 0;
}
int main()
{
j y = f;
y();
}
We wszystkich witrynach i Stroustrup również mówi, że wystąpi błąd kompilacji, ale kompiluje. Czy są jakieś zmiany w standardzie?Czy jest to błąd kompilacji typedef int (* j)() throw (A)?
Który kompilator i jaką wersję? –
Microsoft visual studio 2012 –
Odkąd mówisz, że będziesz wyrzucał obiekt 'typename A 'w prototypie' foo() 'bez zadeklarowania go jeszcze, nie widzę jak to * nie jest * a błąd kompilatora. Powinieneś otrzymać niezdefiniowany symbol błędu "A" lub "oczekiwany") "". – WhozCraig