gpt4 book ai didi

c++ - 函数的多重定义

转载 作者:行者123 更新时间:2023-11-28 02:57:24 29 4
gpt4 key购买 nike

我一直收到这个错误/tmp/ccKGPdrx.o:在函数 FindWords(std::string)' 中:
app2.cpp:(.text+0x0): 多重定义
FindWords(std::string)'/tmp/ccDIMHPc.o:main.cpp:(.text+0x0): 首先在这里定义collect2:错误:ld 返回 1 退出状态

我的app2.cpp文件

#include <fstream>
#include <iostream>

std::string FindWords(std::string str)
{
std::ifstream iFile("in.txt");
std::string x;
while (true) {
iFile >> x;
if (x.compare(0,str.size(),str) == 0) {
std::cout << x;
}
if( iFile.eof() ) break;
}
return x;
}

我的主文件

#include <iostream>
#include "app2.cpp"
#include <fstream>

int main() {
std::string s = FindWords("cha");
return 0;
}

这只是一段简单的代码,从文件中读取字符串并获取字符串作为输入。如果文件中的任何字符串与输入字符串匹配,则打印它。

最佳答案

这是因为这一行:

#include "app2.cpp"

您不应该为该类包含 cpp 文件。相反,您应该链接它,并包括 header :

应用2.h

#include <string>
std::string FindWords(std::string str);

关于c++ - 函数的多重定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21680817/

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