undefined reference to `swap::run()'
时间: 2023-08-21 16:08:49 浏览: 91
ansible-role-swap:在系统上配置交换文件
引用\[1\]和\[2\]中的内容是关于编译报错的信息,它们描述了在编译过程中出现的未定义引用错误。这些错误通常是由于在代码中使用了某些函数或变量,但编译器找不到它们的定义而导致的。根据引用\[3\]中的内容,我们可以看到这些引用是在一个名为"swap"的类中的"run()"函数中出现的。然而,在给出的代码中,并没有定义名为"swap"的类或"run()"函数,因此编译器无法找到对应的定义,从而导致了"undefined reference"错误。
要解决这个问题,您需要在代码中添加对应的类和函数的定义。根据代码中的注释,您可以将"swap.h"文件修改为以下内容:
```cpp
#ifndef SWAP_H
#define SWAP_H
#include <iostream>
using namespace std;
class Swap {
public:
// 实现两个数字交换的函数声明
static void run(int a, int b);
};
#endif
```
然后,将"swap.cpp"文件修改为以下内容:
```cpp
#include "swap.h"
void Swap::run(int a, int b) {
int temp = a;
a = b;
b = temp;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
}
```
最后,将"main"函数文件修改为以下内容:
```cpp
#include "swap.h"
int main() {
int a = 100;
int b = 200;
Swap::run(a, b);
system("pause");
return 0;
}
```
通过以上修改,您应该能够成功编译并运行代码,解决"undefined reference to `swap::run()'"的问题。
#### 引用[.reference_title]
- *1* *2* [C++编程-6:undefined reference to 'XXXX'问题汇总](https://blog.csdn.net/zhuyunier/article/details/80359575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [VS code 自己编写的.h .cpp文件(函数的分文件),运行报错:undefined reference to ‘xxxxxx’ 的解决办法](https://blog.csdn.net/congxing9333/article/details/109667444)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文