致命错误C1010:在寻找预编译指示头文件时,文件未预期结束。 就是没有找到预编译指示信息的头文件。 问题一般发生在:通过添加文件的方式,添加了一些cpp文件到一个MFC的程序,但该cpp文件并不是MFC,而是标准的C++。 解决方案1: 右键单击项目工程中的cpp文件,在菜单Project->Settings->C/C++->Precompile Header,设置为第一项:Not using precompile headers。 解决方案2:在.cpp文件开头添加包含文件stdafx.h。 #include"stdafx.h"
------------------------------------------------------------------------------------------------------
2、fatal error C1083: Cannot open precompiled header file: 'Debug/search.pch': No such file or directory
有些时候你把这个空间保存了。然后关闭空间,再打开这个工作空间,就ok了。(有些时候!)
------------------------------------------------------------------------------------------------------
3、d:\workspace\c++\search\sequence.cpp(24) : fatal error C1010: unexpected end of file while looking for precompiled header directive
------------------------------------------------------------------------------------------------------
4、cannot compile the file '' no compile tool is association with the file extension
你现在打开的是头文件,头文件是不能单独编译的,打开你写代码的.cpp文件,就可以编译了。
------------------------------------------------------------------------------------------------------
5、search.obj : error LNK2001: unresolved external symbol "void __cdecl sequence::showresult(int *,int,int,int)" (?showresult@sequence@@YAXPAHHHH@Z)
search.obj : error LNK2001: unresolved external symbol "int __cdecl sequence::search(int *,int,int)" (?search@sequence@@YAHPAHHH@Z)
------------------------------------------------------------------------------------------------------
弄了一个小时,才弄完一个C++示例小程序,泪奔中。。。
解决了上面一些问题,有的问题是关了又开就完成了,实在是令人费解啊。
虽然没什么含量,但也是多年后,重拾C++的第一个程序,贴上来,纪念一下
sequence,h:
#ifndef SEQUENCE_H
#define SEQUENCE_H
namespace sequence{
/**
根据数组首地址、 数组长度、关键字查找,返回索引
*/
int search(int *arr,int arrlen,int key);
/**
显示结果
*/
void showresult(int *arr,int arrlen,int key,int index);
}
#endif
sequence.cpp:
#include <iostream>
#include "sequence.h"
using std::cout;
using std::endl;
/**
根据数组首地址、 数组长度、关键字查找,返回索引
*/
int sequence::search(int *arr,int arrlen,int key){
for(int i = 0 ; i < arrlen ; i++){
if(key == arr[i]){
return i;
}
}
return -1;
}
/**
显示结果
*/
void sequence::showresult(int *arr,int arrlen,int key,int index){
cout<<"-------------顺序查找演示-------------"<<endl;
cout<<"元素"<<key<<"在数组{";
for(int i = 0;i < arrlen;i++){
cout<<arr[i]<<" ";
}
cout<<"}中的位置为"<<index<<endl;
}
main:
// search.cpp : Defines the entry point for the console application.
//
#include "sequence.h"
int main(int argc, char* argv[])
{
//1,顺序查找算法
const int aN = 10;
int a[aN] = {2,3,4,7,1,9,3,6,7,8};
int akey = 9;
int aindex = sequence::search(a,aN,akey);
sequence::showresult(a,aN,akey,aindex);
//2,二分查找算法
//3,分块查找算法
//4,二叉排序树上的查找
//5,哈希查找
return 0;
}
结果:
-------------顺序查找演示-------------
元素9在数组{2 3 4 7 1 9 3 6 7 8 }中的位置为5
Press any key to continue