Deseo reenviar declarar una función miembro estático de una clase en otro archivo. Lo que queremos hacer es el siguiente:declaran hacia adelante función estática C++
BigMassiveHeader.h:
class foo
{
static void init_foos();
}
Main.cpp:
class foo;
void foo::init_foos();
int main(char** argv, int argc)
{
foo::init_foos()
}
Esta falla con "error C2027: uso de tipo indefinido 'foo' "
¿hay una manera de lograr lo que quiero hacer con fuera haciendo init_foos una función libre, o incluyendo BigMassiveHeader.h? (BigMassiveHeader.h está afectando notablemente el tiempo de compilación, y se incluye en todas partes.)
si se debe incluir en el código de el .cpp o en BigHeader.h no deberían tener un efecto. Después de todo, ESTÁS usando #include guardias o #pragma una vez para que BigHeader.h solo se compile una vez, ¿no? – Kyte
@Kyte Incluir guardias limita BigHeader.h a una vez por unidad de traducción donde está incluido. Si se incluye en muchos archivos fuente, deberá compilarse muchas veces. – KeithB
Entonces, ¿sería posible dividir la definición de 'class foo' en otro archivo de encabezado? –