gpt4 book ai didi

c++ - 这是什么错误?

转载 作者:行者123 更新时间:2023-11-30 04:01:42 24 4
gpt4 key购买 nike

#include <iostream>
#include <vector>
#include <string>
using namespace std;


class TaroGrid{
public:
int getNumber(vector<string> grid)
{
int n = grid.size(), max = 0, count = 1;
for (int j = 0; j < n; j++)
{
for (int i = 1; i < n; i++)
{
if (grid[i][j] == grid[i - 1][j]) count++;
else count = 1;
if (count > max) max = count;
}
}
return max;
};
};


int main()
{
TaroGrid test;
vector<string> cool;
int t = test.getNumber(cool);
cout << "The largest number of cells Taro can choose is: " << t <<endl;
return 0;
}

你的代码没有编译:

链接错误:

TaroGrid-stub.o:In function `main':
TaroGrid-stub.cc:(.text.startup+0x0): multiple definition of `main'
TaroGrid.o:
TaroGrid-stub.cc:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status

最佳答案

您编译了 TaroGrid-stub.cc 两次,以不同的方式命名目标文件 TaroGrid-stub.oTaroGrid.o。这两个对象大部分是相同的(它们可能是同一代码的不同版本)。它们肯定都有一个 main 函数。

然后您将两个对象都传递给链接器,链接器无法确定哪个是真正的 main

有几个可能的解决方案。

  1. 删除旧的目标文件。
  2. 不要与 *.o 链接,而是实际命名您打算使用的特定目标文件。

关于c++ - 这是什么错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25596959/

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