摘要:error C2143: syntax error : missing '{' before 'PCH creation point'造成这个错误的原因是由于头文件中的函数声明遗漏了分号;百度一下其他原因要么是类的声明忘记加分号了,要么是使用了中文的分号;所以,碰到这种错误,一定要先去看看是不是哪个地方的分号错误。
阅读全文
摘要:--C语言的要求:函数先声明后定义--example 1: test1.c中#include<stdio.h>int main(void){ printf("%d\n",fun(5));}int fun(){ printf("Hello World\n");}//代码编译,链接都能够通过。但是会有警告:warning C4013: 'fun' undefined; assuming extern returning intwarning C4716: 'fun' : must return a value通过可
阅读全文
摘要:--惯例:先上一段简单的代码#include <iostream.h>float temp; //定义一个全局变量float fn1(float r){ temp =(float) (r*r*3.14); return temp;}float& fn2(float r)//返回引用{ temp = (float)(r*r*3.14); return temp;}void main(){float a=fn1(5.0); ////float& b=fn1(5.0); //VC++ 6.0 error, (其他的编译器可能是warning)float c=fn2(5.0
阅读全文
摘要:先上一段简单代码:#include<iostream>using namespace std;class test{public:test(){cout<<"默认构造函数"<<endl;}~test(){cout<<"析构函数"<<endl;}void fun1(test & t){cout<<"fun1 called"<<endl;}void fun2(test t){cout<<"fun2 called"&l
阅读全文
摘要:C++语言经常会有涉及到多操作符的变量或者数组定义,怎么判断其语义着实让人费解,下面谈谈我的个人理解,如有不对,请留言并谈谈您的理解。 首先用一个小小的测试程序:#include <iostream.h>void main(){int intOne = 6;int& rInt=intOne;int *pp=&intOne;//int& *p = &intOne;//编译错误,不能定义指向引用的指针;//int& *p = &rInt;//编译错误,同样不能定义指向引用的指针;int* &p = pp; //编译正确,可以定义指
阅读全文
摘要:VC中LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16错误2009-10-09 11:11学习VC++时经常会遇到链接错误LNK2001,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。产生LNK2001错误的原因:一个是由于编码错误导致的LNK2001,在这不想详细说.另一个由于编译和链接的设置而造成的 LNK2001.最经常发生的是:"LIBCD.lib(wincrt0.obj) : error LNK2001
阅读全文
摘要:注:不是原创,课堂上听来的,防止遗忘,所以记下来! C语言的体系结构分为两个部分:数据和函数,当然最终这两个部分都是要进入到计算机的内存中去。 函数在编译后编程可执行代码,存放在代码区;数据分为几种:局部与全局,auto和static,简单的说就是放在静态数据区,堆中和栈中。 对于全局的变量和静态的变量是在main函数之前创建的。 C语言有个规定:全局区不能有可执行代码,可执行代码必须进入函数中。但是C语言中的函数都是全局的,这就导致函数不能嵌套定义:嵌套定义导致函数内部定义的函数成了局部函数。所以要解决各个函数的执行问题只能通过函数的嵌套调用。这时就需要有一个函数首先被执行,来调...
阅读全文