Nunca puedo recordar la declspec función horrible, C++, por lo que cada vez que tengo que averiguar la sintaxis que describe una función miembro, por ejemplo, sólo Inducir un error de compilador intencional que generalmente muestra la sintaxis correcta para mí.
Así que dado:
class StateMachine {
bool stateA(int someArg);
};
Cuál es la sintaxis para typedef de stateâ? Ni idea .. así que vamos a tratar de asignarle algo no relacionado y ver lo que el compilador dice:
char c = StateMachine::stateA
compilador dice:
error: a value of type "bool (StateMachine::*)(int)" cannot be used to initialize
an entity of type "char"
No es: "bool (StateMachine :: *) (int) "es nuestro typedef.
Guau, este problema es mucho, mucho más difícil de lo que parece, en mi opinión. Hay todo tipo de formas de resolverlo si estás dispuesto a romper la seguridad total del tipo, pero de lo contrario ... wow. –