C ++ / Eclipse中的未定义符号错误[关闭]

Posted

技术标签:

【中文标题】C ++ / Eclipse中的未定义符号错误[关闭]【英文标题】:Undefined symbols error in C++ / Eclipse [closed] 【发布时间】:2009-12-11 08:06:45 【问题描述】:

我有一个函数可以在表格中显示向量的值,但在链接时我不断收到“未定义符号”错误。

这是我的函数原型:

void displayVectors(vector<string> & nameVec, vector<double> & scoreVec, vector<char> & gradeVec);

这是定义:

void dipslayVectors(vector<string> & nameVec, vector<double> & scoreVec, vector<char> & gradeVec) 

    for (int i = 0; i < nameVec.size(); i++) 
        cout << setw(12) << nameVec[i]
            << setw(8) << scoreVec[i]
            << setw(2) << gradeVec[i]
            << endl;
    


这就是我所说的:

displayVectors(nameVec, scoreVec, gradeVec);

我确定 nameVec、scoreVec 和gradeVec 都是正确的向量类型,而且我包含了所有库,所以我很难过。我在 Google 上看到其他人在使用此类向量时遇到问题,但他们总是发现自己犯了一些错误。有人有什么想法吗?

【问题讨论】:

您是否尝试从 shell 编译它以了解它是 eclipse 问题还是更普遍的问题? 哪些符号被报告为未定义? 抱歉,我确实忘记添加实际的错误消息,但似乎没关系... 【参考方案1】:

假设您直接剪切并粘贴了您的问题,那么 void dipslayVectors 是定义中的拼写错误

【讨论】:

总是小细节... 是的......当你一个人工作时,SO非常适合第二组眼球 我在我的代码中盯着它们看了那么久,并没有看到任何拼写错误,当你指出来时,我还得看了大约20秒……哇,太晚了……谢谢!奇怪的是,它从来没有像在编译时发现错误时那样用红色指出错误。然后,我点击了其他一些调试键,它告诉我它尚未定义。 拼写错误突然出现在我身上——我正要编辑它,因为我认为这是您的示例中的拼写错误,而不是您的实际代码。我很高兴我没有“解决”这个问题!【参考方案2】:

从您的代码中可能有 2 个可能的错误来源:

1.dipslayVectors 拼写错误。

2.您可能没有定义实际参数。

3.一个建议是function const,因为它只读取数据并将形参作为对const数据的引用。

【讨论】:

以上是关于C ++ / Eclipse中的未定义符号错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

终端中的“架构 x86_64 的未定义符号”,但 xcode 中没有错误

未定义符号 体系结构 x86_64 的未定义符号:“_kCFAllocatorDefault”

C ++ 0x lambdas的未定义符号?

C++ 错误:架构 x86_64 的未定义符号

node.js 中的未定义错误

编译时错误“架构 x86_64 的未定义符号”是啥意思?