C++ C++;LNK1561错误(包含main()时)
出于某种原因,尽管定义了main()函数,但仍收到LNK1561错误 我的搜索.h文件:C++ C++;LNK1561错误(包含main()时),c++,lnk,C++,Lnk,出于某种原因,尽管定义了main()函数,但仍收到LNK1561错误 我的搜索.h文件: #pragma once #include <iostream> #include <fstream> using namespace std; namespace standard{ class Search { public: bool sequential_find(int num); bool recursive_binary_find(int num)
#pragma once
#include <iostream>
#include <fstream>
using namespace std;
namespace standard{
class Search
{
public:
bool sequential_find(int num);
bool recursive_binary_find(int num);
bool iterative_binary_find(int num);
void init_array();
void init_sorted_array();
void set_seed(int seed);
int getSize();
bool binSearch(int d, int low, int high);
// this is just for practice and debugging.
friend ostream& operator<< (ostream& out, const Search& s)
{
// put the code in here.
}
Search(int size,int seed=0);
~Search();
private:
int size;
int* array;
static int* data;
};
}
#pragma一次
#包括
#包括
使用名称空间std;
名称空间标准{
类搜索
{
公众:
布尔序列查找(整数);
布尔递归二进制查找(int num);
布尔迭代二进制查找(int-num);
void init_数组();
void init_排序_数组();
空集_种子(int种子);
int getSize();
布尔二进制搜索(整数d、整数低位、整数高位);
//这只是为了练习和调试。
friend ostream&operator您已将main()
函数放在standard
命名空间中。这不是程序的入口点。程序的入口点应该在全局命名空间中
根据C++11标准第3.6.1/1段:
程序应包含一个名为main
的全局函数,该函数是程序的指定起点
实现是否定义了独立环境中的程序是否需要定义主程序
功能
要解决此问题,只需将main()
移动到全局命名空间。还要注意,return 0
不是必需的。从main()
的末尾流出相当于返回0。您已将main()放入标准
命名空间中的函数。这不是程序的入口点。程序的入口点应该在全局命名空间中
根据C++11标准第3.6.1/1段:
程序应包含一个名为main
的全局函数,该函数是程序的指定起点
实现是否定义了独立环境中的程序是否需要定义主程序
功能
要解决此问题,只需将main()
移动到全局命名空间。还要注意,return 0
不是必需的。从main()的末尾流出
相当于返回0。您将main
放在自己的命名空间standard
中,这使它成为属于您的命名空间的函数,而不是main
应该是的全局函数
< C++标准3.61:
程序应包含一个名为main的全局函数,该函数是程序的指定起点。独立环境中的程序是否需要定义主函数由实现定义。[…]
您将main
放入自己的命名空间standard
,这使它成为属于您的命名空间的函数,而不是main
应该是的全局函数
< C++标准3.61:
程序应包含一个名为main的全局函数,该函数是程序的指定起点。独立环境中的程序是否需要定义主函数由实现定义。[…]
谢谢!这解决了这个问题,也为我提供了很多其他的机会。@Redbearedowl:好的,很高兴它能帮上忙谢谢!这解决了这个问题,也为我提供了很多其他的机会。@Redbearedowl:好的,很高兴它能帮上忙
#include "Search.h"
using namespace std;
namespace standard{
int main()
{
return 0;
}
// Search::Search(int size,int seed=0)
// {
//
// }
bool Search::sequential_find(int num)
{
for (int i=0; i<getSize(); i++)
{
if(data[i] == num)
{
return true;
}
}
return false;
}
bool Search::recursive_binary_find(int num)
{
int high = getSize()-1;
int low = 0;
return binSearch(num, low, high);
}
bool Search::binSearch(int d, int low, int high)
{
if (low > high)
return false;
int mid = (high+low)/2;
if (d == data[mid])
return true;
if (d < data[mid])
return binSearch(d, low, mid-1);
else
return binSearch(d, mid+1, high);
}
bool Search::iterative_binary_find(int num)
{
int high = getSize()-1;
int low = 0;
while (low <= high)
{
int mid = (high+low)/2;
if (num == data[mid])
return true;
else if (num < data[mid])
high = mid-1;
else if (num > data[mid])
low = mid+1;
}
return false;
}
void Search::init_array()
{
}
void Search::init_sorted_array()
{
}
void Search::set_seed(int seed)
{
}
int Search::getSize()
{
return size;
}
}