我必须在代码中定义一个大型数组(查找表).它包含256个元素,占用近1个电脑屏幕.
有两个函数正在使用此数组.我想在函数下定义这个数组,所以我可以在开发过程中非常快速地访问它们.
但是如果我尝试在一个文件中执行它,编译器将在函数周围给出"未声明的标识符"错误 - 因为它们使用数组.
所以,我必须将函数和数组放在单独的文件中.
这是我的程序的结构:
main.cpp:
#include "lookup.h"
...uses two functions...
Run Code Online (Sandbox Code Playgroud)
-
lookup.h:
#ifndef SubMaster_lookup_h
#define SubMaster_lookup_h
void func1(void);
void func2(void);
char LookupTable[][3]={ "00", "01", "02" "03", "04", "05", "06", "07", "08", "09",
"0a", "0b", "0c", "0d", "0e", "0f", "00", "01", "02" "03", "04", "05", "06", "07",
"08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", and so on...}
Run Code Online (Sandbox Code Playgroud)
-
lookup.cpp:
#include "lookup.h"
void func1() {
...body of func1...
}
void func2() {
...body of func2...
}
Run Code Online (Sandbox Code Playgroud)
以下结构在构建期间为我提供了"ld:重复符号_LookupTable".有没有办法改变结构,所以不会出错?
两种方式:
试试这个:
lookup.h
extern char LookupTable[][3];
lookup.cpp
#include "lookup.h"
char LookupTable[][3] = ...
Run Code Online (Sandbox Code Playgroud)
这个答案很好.
| 归档时间: |
|
| 查看次数: |
4116 次 |
| 最近记录: |