Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Constantes global C++ têm vinculação estática.Isso é diferente de C.Se você tentar usar um global constante em C++ em vários arquivos obterá um erro externo não resolvido.O compilador otimiza constantes global, não deixando nenhum espaço reservado para a variável.
Uma maneira para resolver esse erro é incluir inicializações const em um arquivo de cabeçalho e incluir esse cabeçalho nos arquivos CPP quando necessário, sistema autônomo se fosse o protótipo de função.Outra possibilidade é tornar a variável não constante e use uma referência constante ao avaliar a ele.
O exemplo a seguir gera C2019:
// global_constants.cpp
// LNK2019 expected
void test(void);
const int lnktest1 = 0;
int main() {
test();
}
E, em seguida,
// global_constants_2.cpp
// compile with: global_constants.cpp
extern int lnktest1;
void test() {
int i = lnktest1; // LNK2019
}