Объект структуры в заголовочном файле - C (СИ)
Формулировка задачи:
Есть файл keytab.h в котором объявлен стуктурный тип key, и определен массив keytab этого типа.
С этим работают несколько функций, включаю инклудом keytab.h в файлы с функциями на что линкер выдает ошибку, что нашел множественно определенный символ:
fatal error LNK1169: one or more multiply defined symbols found
вот keytab.h :
#ifndef KEYTAB_H #define KEYTAB_H struct key { char *word; int count; } keytab[] = { "auto", 0, "break", 0, "case", 0, "char", 0, "const", 0, "continue", 0, /* ... */ "union", 0, "unsigned", 0, "void", 0, "volatile", 0, "while", 0 }; #endif
Решение проблемы уже нашел, функции работают с типом, а не с массивом, по этому в keytab.h оставил только обьявление структуры, а массив переместил в .c файл с main, но все же интересно почему линкер выдавал ошибку ?
Решение задачи: «Объект структуры в заголовочном файле»
textual
Листинг программы
#include "keytab.h" void f2 () { keytab[1].count= 35; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д