voici le code:extern const char * pointeur const ou un tableau extern const char [] cause de lien erreur
file1.cc
#include <stdio.h>
const char *pointerString = "pointerString";
const char arrayString[] = "arrayString";
const char* const constpointerString = "constpointerString";
extern void printString();
int main(void)
{
printString();
return 0;
}
file2.cc
#include <stdio.h>
extern const char *pointerString;
extern const char arrayString[];
extern const char* const constpointerString;
void printString()
{
printf("pointerString: %s\n", pointerString);
printf("arrayString: %s\n", arrayString);
printf("constpointerString: %s\n", constpointerString);
}
commande complite: g ++ fichier1.cc fichier2.cc -o sortie lien d'erreur:
/tmp/cczatCe9.o: In function `printString()':
file2.cc:(.text+0x1f): undefined reference to `arrayString'
file2.cc:(.text+0x30): undefined reference to `constpointerString'
collect2: ld returned 1 exit status
version g ++: 4.6.3 (Unbuntu/Linaro 4.6.3-1ubuntu5)
quelqu'un peut-il aider?
L'objet 'const' a une liaison interne, donc les variables ne sont pas visibles à l'extérieur. – Rakib
pense de toute façon, je reçois une réponse de 'http: // stackoverflow.com/questions/14977058/extern-const-char-const-un-constant-giving-me-linker-erreurs' –