gpt4 book ai didi

c++ - 从其他 C++ 文件访问方法

转载 作者:行者123 更新时间:2023-11-28 03:37:14 26 4
gpt4 key购买 nike

我已经为主要功能和菜单功能实现了客户、DVD、收据、类和 2 个文件,我包含了所有 .h 文件,但是当我使用菜单功能中的功能时,它不起作用,并说功能未定义。我想将其写入一个名为 main 的单独 .cpp 文件中,该文件是我的应用程序的驱动程序。

这是我的代码:

#ifndef CUSTOMER_H
#include "Customer.h"
#endif

#ifndef DVD_H
#include "DVD.h"
#endif

#ifndef MAIN_FUNC_H
#include "MainFunctions.h"
#endif

#ifndef MENU_FUNC_H
#include "MenuFunctions.h"
#endif

#ifndef RECEIPT_H
#include "Receipt.h"
#endif

using namespace std;

int main () {
intro();

return 0;
}

错误是:

Error 1 error C2129: static function 'void intro(void)' declared but not defined c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmemory 186 1 DVD_App

即使函数 intro()MenuFunctions.h 文件中定义,并在 MenuFunctions.cpp 中实现

注意:MenuFunctions 和 MainFunctions 这 2 个文件中没有类,只有静态函数我也试过没有包含守卫,但还是没用

最佳答案

如果您用static 标记函数(注意 - 函数,而不是方法),它意味着编译单元(.cpp 文件)的“本地”。所以它需要在那里声明和定义,并且在其他 cpp 文件中不可见。因此,删除静态意味着可以跨编译单元访问该函数。

关于c++ - 从其他 C++ 文件访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551248/

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