提问人:Ali_np_dp 提问时间:3/19/2023 最后编辑:Remy LebeauAli_np_dp 更新时间:3/19/2023 访问量:42
使用模板函数时,如何修复 Microsoft Visual Studio 社区中的“未解决的外部错误”?
How to fix "unresolved external error" in Microsoft Visual Studio Community when using template functions?
问:
我想我已经设法修复了我的错误,但我的程序只能在某些编译器上正常工作,但它在其他编译器上不起作用,例如 Microsoft Visual Studio,我不知道如何修复它。
它引发了这样的错误:
函数“int __cdecl invoke_main(void) (?invoke_main@@YAHXZ)”中引用的未解析的外部符号主
这是我的代码:
#include <iostream>
using namespace std;
#define E '\n'
#define ll long long
template<typename T>
class BinarySearch
{
public:
BinarySearch(T target, T elements[])
:elements(elements), target(target)
{ }
bool solve(int start_index, int end_index)
{
int mid_index = (start_index + end_index) / 2;
if (start_index >= end_index)
{
if (elements[start_index] == target)
return true;
else
return false;
}
else
{
if (elements[mid_index] == target)
return true;
else if (elements[mid_index] < target)
return solve(mid_index + 1, end_index);
else
return solve(start_index, mid_index - 1);
}
}
private:
T* elements;
T target;
};
template<typename T>
int main()
{
int elements[] = { 1,2,3,47,111,121,681,990 };
int target = 0;
BinarySearch solution(target, elements);
cout << solution.solve(0, 7);
return 0;
}
我迫切需要修复这些编译错误。
答: 暂无答案
评论