Não é possível incluir o arquivo de cabeçalho da biblioteca dinâmica em mais de um arquivo?
-
19-09-2019 - |
Pergunta
Adicionei com sucesso uma biblioteca dinâmica a um programa, mas quando tento incluir o arquivo de cabeçalho em um segundo arquivo do projeto, recebo erros sobre a redeclaração da classe. Vou adicionar mais informações se isso não for suficiente
Solução
Você precisa colocar guardas em seu cabeçalho para que ele não esteja incluído várias vezes. Para o arquivo 'my.h', você pode adicionar algo parecido com:
#ifndef MY_H
#define MY_H
// Header declarations here
#endif
Dessa forma, você pode incluir o arquivo .h várias vezes, mas ele só será incluído na primeira vez.
Outras dicas
Um #include substituirá a instrução #include pelo conteúdo dos arquivos; Ter vários #incluir o mesmo arquivo redefinirá os elementos várias vezes. A maneira típica é uma salvaguarda como:
/* file foo .h */
#ifndef _FOO_H
#define _FOO_H
/* content */
#endif
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow