首页 文章

架构x86的未定义符号[重复]

提问于
浏览
1

这个问题在这里已有答案:

我在c编码,我试图了解静态变量 .
当我编写练习代码时,收到此错误消息:

体系结构x86_64的未定义符号:“pizza :: firstLetterFavPizza”,引自:major ::o中的pizza :: favPizzaFirstLetterChan(char)ld:未找到体系结构x86_64 clang的符号:错误:链接器命令失败,退出代码为1 (使用-v查看调用)

请帮忙!我不知道出了什么问题 . 源代码在这里:

#include <iostream>
class pizza
{
 public: 
    static char firstLetterFavPizza;

    char favPizzaFirstLetterChan (char letter = firstLetterFavPizza)
    {
     pizza::firstLetterFavPizza = letter;
     return pizza::firstLetterFavPizza;
    }
};

int main()
{
    pizza *a = new pizza();
    pizza *b = new pizza();
    std::cout << a->favPizzaFirstLetterChan('c') << std::endl;
    delete a;
    std::cout << b->favPizzaFirstLetterChan('b') << std::endl;
    delete b;
    return 0;
};

1 回答

  • 1

    您已声明静态数据成员,但未定义它 . 在某处(在全局命名空间中)向代码添加定义:

    char pizza::firstLetterFavPizza;
    

相关问题