Resultados da pesquisa a pedido "forward-declaration"
Encaminhar declarar FILE *
Como encaminhar declararFILE * em C? Eu normalmente faço isso usandostruct MyType;, mas naturalmente isso não parece ser possível. Se o comportamento diferir entre os padrões ou compiladores C e com o C ++, isso também é ...
Por que uma classe de amigo C ++ precisa de uma declaração de encaminhamento apenas em outros namespaces?
Suponha que eu tenha uma aulaF que deveria ser amigo das aulasG (no espaço de nomes global) eC (no espaço de nomeA) ser amigo deA::C, F deve ser declarado a frente.ser amigo deG, nenhuma declaração deF é necessário.da mesma forma, uma ...
Por que a declaração de classe não funciona quando a classe é incluída em outra classe
Isso compila #include "Sprite.h" class GameObject { public: int x, y, w, h; Sprite sprite; public: GameObject(); GameObject(int _x, int _y, int _w, int _h); virtual ~GameObject(); };Isso não class Sprite; class GameObject { public: int x, y, w, ...
Problema de referência circular em C ++
Eu tenho 2 aulas:DataObject eDataElement. DataObject mantém ponteiros para (apenas)DataElements e umDataElement contém ponteiros para vários tipos, entre os quais umDataObject. Isso não costumava ser um problema, pois eu só uso ...
Como encaminhar typedef'd struct em .h
Tenho Preprocessor.h #define MAX_FILES 15 struct Preprocessor { FILE fileVector[MAX_FILES]; int currentFile; }; typedef struct Preprocessor Prepro; void Prepro_init(Prepro* p) { (*p).currentFile = 0; } Percebi então que tinha que separar as ...
O que é o cabeçalho <iosfwd>?
Qual é o<iosfwd> cabeçalho usado para (mencionado emeste ficheiro [http://stdcxx.apache.org/doc/stdlibref/iosfwd-h.html])? Por que isso é necessário? Algum exemplo?
Uso inválido do tipo de estrutura incompleto, mesmo com declaração direta
Estou ciente das dependências circulares, mas mesmo com declarações avançadas, recebo essa área. O que estou fazendo errado // facility.h class Area; class Facility { public: Facility(); Area* getAreaThisIn(); void setAreaThisIsIn(Area* area); ...
classe foo; no arquivo de cabeçalho
Alguém pode explicar por que os arquivos de cabeçalho têm algo parecido com isto? class foo; // This here? class bar { bar(); };Você precisa de uma declaração de inclusão ao usar isso? Obrigado.