vs2012编译C代码,总是出现error C2143: syntax error : missing ';' before 'type'

今天编译一个动态库,里面有用C编写的源文件,

为了调试自己加了一些简单的信息输出语句,但是总是编译不过,

最后精简到只是定义一个函数的局部变量也会编译失败,

最后Google了才明白,vs在编译C代码的时候会有一些特殊的check,

其中一种就是需要函数定义局部变量要在开头。

举例如下:

错误的代码
void func1()
{
   int x;
    //do some work
   int y;
   //do other work
}

这样的代码在编译的时候就会在int y 这里报error C2143: syntax error : missing ‘;‘ before ‘type‘;

你需要修改一下变量声明的位置:

真确的代码
void func1()
{
     int x;
     int y;
     //do some work
     //do other work
}    

vs2012编译C代码,总是出现error C2143: syntax error : missing ';' before 'type'

时间: 2024-09-29 10:50:54

vs2012编译C代码,总是出现error C2143: syntax error : missing ';' before 'type'的相关文章

error C2143: syntax error : missing ';' before '{'

这是我在实现哈夫曼树的时候,遇到的错误,具体为什么我也不清楚!!!因为这是我用学校实验室的电脑编译出现的错误(用的软件是VC6.0,贼老的版本!!!),我自己的是Code Blocks(没有出错)??? 代码如下: for ( i = 1; i <= n; i++ ) { huffNode HT[i](w[i],0,0,0);//初始化前n个节点(构造哈夫曼树的原始节点) } 然后,就有错了(-_-!) error C2057: expected constant expression erro

error C2143: syntax error : missing &#39;;&#39; before &#39;type&#39;

许久之前,就想看看C和C++,看看这两种神奇的编程语言,但是一直被这样或者那样的琐事给耽搁了(狂喷自己的拖延症). 今天翻开自己的移动硬盘找到一本古老的书籍:<The C Programming Language 中文版>,浏览一下,缓解一下内心的空虚. 事情并没有想象中的那么顺利,刚看了一个例子的两种方法,但是当把他们组合起来时,就遇到了困难: 错误提示: error C2143: syntax error : missing ';' before 'type' error C2065: '

一个关于调用函数函参写void的错误error C2143 syntax error missing &#39;)&#39; before &#39;type&#39;

error C2143 syntax error missing ')' before 'type' 错误代码: srand((unsigned)clock(void)); 错误原因: 画蛇添足的写了void 修改: 把void去掉即可 总结: void代表空,就是实实在在的什么都没有,除非是在声明,否则平常用的时候就是空. 一个关于调用函数函参写void的错误error C2143 syntax error missing ')' before 'type'

突然出现错误gdiplustypes.h(280): error C2059: syntax error : &#39;constant&#39;等未知错误

gdiplustypes.h(280): error C2059: syntax error : 'constant'gdiplustypes.h(280): error C2238: unexpected token(s) preceding ';'gdiplustypes.h(281): error C2059: syntax error : 'constant'gdiplustypes.h(281): error C2238: unexpected token(s) preceding '

maven编译带中文的工程时出现syntax error的问题

在编译带中文的maven工程时,尽管pom文件中设置了<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>,但仍然会报错,如下信息: [ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.7.2:scr (generate-scr-scrdescriptor) on project toolkit.monitor.manag

LINK : fatal error LNK1117: syntax error in option &#39;VERSION:1.6.5&#39;

今天在用vs2015编译ogre 1.6.5的代码时发生连接错误 LINK : fatal error LNK1117: syntax error in option 'VERSION:1.6.5'. 解决:On the Settings (Project > Settings > Linker) removing the "Version" entry. 没有深入搞懂为什么,先Mark下. 参考: http://stackoverflow.com/questions/20

shell 脚本,在调试时,FOR循环那行代码,总是出现错误syntax error near unexpected token do(转)

这种情况发生的原因是因为你所处理的文件换行符是dos格式的"\r\n" 可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m 需要转换成linux/unix格式的"\n" 具体转换办法就是转换换行符 可以用sed命令处理一下文件,命令如下: sed 's/\r//' 原文件 >转换后文件 sed 命令的参数中 "代表决定引用参数,不允许参数中的值让shell解释,s代表替换 /后面跟的是被替换的内容,后面的//代表替换后的

syntax error : missing &#39;;&#39; before &#39;type&#39;

#include <stdio.h> #include <stdlib.h> int main (int argc, char **argv) { char a[] = {'a','b','c','d','e'}; char b[] = "abcde"; char c[][3] = {{ 'a' , 'b' , 'c' },{ 'd' , 'e' , 'f' },{ 'g' ,'h' , 'j' },{ 'k' , 'h' , 'l' }}; char *p =

ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法

sass文件编译时候使用ruby环境,无论是界面化的koala工具还是命令行模式的都无法通过,真是令人烦恼. 容易出现中文注释时候无法编译通过,或者出现乱码,找了几天的解决方法终于解决了. 这个问题的奇葩之处在于在xp环境中没有任何问题,只是在windows7环境中才出现的这个. sass编译时候出现如下错误的解决方法: Syntax error: Invalid GBK character "\xE5" on line 8 of E:\work\sass\sass\_big_box.