问题如下
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 _main,该符号在函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中被引用 OneWeekTest D:\engineering\C++\OneWeekTest\OneWeekTest\MSVCRTD.lib(exe_main.obj) 1
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1120 1 个无法解析的外部命令 OneWeekTest D:\engineering\C++\OneWeekTest\Debug\OneWeekTest.exe 1
#include<string>
#include<iostream>
using namespace std;
int GetMaxComSTR(const char * s, const char * t, int * length);
void main()
{
int a = 20;
GetMaxComSTR("abcdefg", "abcdrewm", &a);
cout << "the same:" << a << endl;
}
int GetMaxComSTR(const char * s, const char * t, int * length)
{
int i = 0;//字符串1索引
int j = 0;//字符串2索引
int k = 0;//记录的最大公共字符串的长度 X
int tmp_len = 0;//查找过程中记录暂时的公共字符串长度
int condition = 0;//是否具有公共字符串标识
int index = 0;//第一个存储位置 最大存储位置
*length = -1;
while (i < strlen(s))//字符串1索引
{
j = 0;
while (j < strlen(t))
{
if (s[i] == t[j])//这句精髓,可以避免进入循环后多次比较操作,加快效率
{
k = 0;
tmp_len = 0;
condition = 1;//相同置1
while (condition == 1)
{
if (i + k < strlen(s) && j + k < strlen(t) && s[i + k] == t[j + k] /*k >= tmp_len*/)
{
tmp_len++;
k++;
}
else
{
condition = 0;
break;
}
}
if (tmp_len > *length)
{
index = i;
*length = tmp_len;
}
}
j++; //不相等,j自增
}
i++;//内层循环结束
}
return index;
}
之前是用的vs2015,也是这个问题,然后我就完全卸载了2015,装了2017版的,但是也还是存在这个问题