【发布时间】:2015-05-05 09:47:04
【问题描述】:
我有一些 C++ 代码:
// A.h
extern const char *names[3];
// B.cpp
#include "A.h"
const char *names[3] = {
"Name1",
"Name2"
"Name3"
};
void getName()
{
char *name;
strncpy(name, names[0], 5);
};
// C.cpp
#include "A.h"
然后当我构建它时,它会产生以下错误:
对“名称”的未定义引用 是什么原因以及如何解决?
【问题讨论】:
-
可以粘贴构建链吗?
-
它适合我。顺便说一句,您正在对未分配的缓冲区执行
strncpy。错了,你应该先分配一些缓冲区。 -
你的真实代码是不是“B.cpp”中的分号也太多了?