Problemas al definir una clase (Windows, GCC)

Iniciado por Chains, 22 Agosto 2013, 17:57 PM

0 Miembros y 2 Visitantes están viendo este tema.

Chains

Estoy intentando definir una clase para poder acceder a sus funciones desde otras clases. La clase debería ser estática, es decir, no debe ser instanciada.

Éste es el código de la cabecera (ServerClass.h)

Código (cpp) [Seleccionar]
#define DEFAULT_BUFLEN 512
#ifndef __SERVERCLASS_H__
#define __SERVERCLASS_H__

class ServerClass
{
public:
    static int CreateServer(HWND);
    static int CloseServer();
    char* getcbuffer();
    int listensock();
private:
    SOCKET ListenSocket;
    SOCKET ClientSocket;
    char recvbufx[DEFAULT_BUFLEN];
    int recvbuflen;
};
#endif


El problema es que al compilar, me da dos errores algo extraños en las líneas 6 y 17:

En linea 6: error: an anonymous struct cannot have function members
En linea 17: error: abstract declaratos '<anonymous class>' used as declaration


¿Por qué me detecta la clase como una estructura, si le he añadido la palabra 'class'? Es un proyecto en Code::Blocks para Windows, usando el compilador GNU GCC, y el proyecto es en C++, no en C.

0xDani

Pues a lo mejor tienes el proyecto configurado como uno de C.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Chains

Jeje, no, no era de eso (lo había pensado). Acabo ahora mismo de encontrar la solución al problema. Por alguna razón el nombre de mi clase estaba haciendo algún conflicto con algo, y el compilador lo interpretaba como una estructura en vez de una clase.

Me ha bastado con cambiar el nombre de la clase, la he llamado "servman" en vez de "ServerClass", y el compilador ya ha dejado de quejarse. Había probado de todo, menos a cambiar el nombre de la clase.

Gracias por la ayuda, en cualquier caso.