gpt4 book ai didi

c++ - 调用定义函数时在QT Creator中获取 "undefined reference"

转载 作者:太空狗 更新时间:2023-10-29 21:05:36 25 4
gpt4 key购买 nike

所以,我正在读这本书:C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield,为了学习 GUI 编程。在按照本书的步骤创建一个简单的电子表格应用程序时,我得到了一个“未定义的引用” 尝试编译电子表格小部件时出错。

所有错误似乎都源于 Cell *Spreadsheet::cell(int row, int column) 函数:

Cell *Spreadsheet::cell(int row, int column) const
{
return static_cast<Cell *>(item(row, column));
}

这是第一个从 spreadsheet.cpp 提示的函数

QString Spreadsheet::formula(int row, int column) const {
Cell *c = cell(row, column);
if (c) {
return c->formula();
} else {
return "";
}
}

Cell *c = cell(row, column); 发送错误:/home/axel/QtSDK/Code/Spreadsheet/spreadsheet.cpp:-1: error: undefined reference到 `Cell::Cell()'

在调用 cell(row, column) 的任何地方都会发生这种情况。该函数本身在私有(private)部分的 spreadhseet header 中定义为:Cell *cell(int row, int column) const;

抱歉,如果它看起来很乱,我是 C++ 编程的新手。

这是我的 .pro 文件

TEMPLATE = app
CONFIG += console
CONFIG += qt

SOURCES += main.cpp \
spreadsheet.cpp

HEADERS += \
spreadsheet.h

如果我遗漏了什么,我会尽快添加。

谢谢,阿克塞尔

最佳答案

Cell 的定义没有上课。应该是cell.h至少它应该包含在 spreadsheet.cpp 中或者它的代码可以直接包含在 spresheed.h 中或 .cpp这是不太可能的。无论如何,错误意味着缺少 Cell构造函数。

关于c++ - 调用定义函数时在QT Creator中获取 "undefined reference",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com