¿Hay alguna diferencia entre estos:C++ volver tipo de pregunta
struct Class* CreateClass();
y:
Class* CreateClass();
Es sólo una declaración de la función de fábrica. Puedes ver que uno tiene struct al principio y otro no. Lo he intentado de ambas formas y no parece marcar la diferencia.
¿Qué debería estar usando?
Creo que entiendo. Entonces en C si quiero usar 'Class * CreateClass();' entonces tengo que usar 'typedef struct Class {...} Class;'. Pero luego en C++ si quiero usar 'Class * CreateClass();' entonces solo tengo que usar 'struct Class {...};'. Y luego, si quiero que sea "compatible con versiones anteriores", debería usar la versión C incluso cuando utilizo C++. – Ryan
@Ryan: Exactamente. – Mehrdad