編譯錯誤syntax error : missing ';' before 'type'原因探尋
在VC6中執行以下程式碼
////////////////////////////////
//main.c
#include <stdio.h>
int main()
{
char a[100];
memset(&a, 0, 100);
char b;
return 0;
}
/////////////////////////////////
編譯器將會報一個編譯錯誤,
syntax error : missing ';' before 'type'
這個錯誤出在
char b;
這一行。
然後將程式改為
////////////////////////////////
//main.c
#include <stdio.h>
int main()
{
char a[100];
char b;
memset(&a, 0, 100);
return 0;
}
/////////////////////////////////
程式就會順利通過編譯。
經過測試發現
在VC中編譯c程式,在一個大括號括起的範圍內,如果變數宣告放在了函式呼叫的後面,那麼編譯的時候就會報錯:
syntax error : missing ';' before 'type'
然後你可以修改為把變數宣告放在函式呼叫之前。就會順利通過編譯。
這個問題在vc編譯c++程式,或者gcc編譯c程式的時候都不會出現,僅僅在vc編譯c程式的時候才會出現.
相關推薦
編譯錯誤syntax error : missing ';' before 'type'原因探尋
在VC6中執行以下程式碼//////////////////////////////////main.c #include <stdio.h> int main(){ char a[100]; memset(&a, 0, 100); char b;
關於C++程式編譯出現error C2143: syntax error : missing ';' before 'type'的解決辦法
規則都是人定的,為什麼我不知道QAQ。(>﹏<。)~嗚嗚嗚…… 在純C中,在一個程式碼塊中變數宣告必須在最前面 在執行程式時發現了一個問題,用 VC 6.0 編譯 C語言是 總是提
VS2010 C++ 專案編譯常見問題蒐集----error C2143: syntax error : missing ';' before '*'
此問題困擾我了很久,在網上大致查找了下相關說明。目前定位問題與定義的include的順序有關 比如我在標頭檔案定義整合的標頭檔案中有如下定義 sdafx.h #include "test.h" #include "another.h"test.h #include "s
弱智的問題:error C2143: syntax error : missing ';' before ''
最近編了幾個Qt的小程式,其中幾個出現了error C2143: syntax error : missing ';' before '<cv-qualifer>'這個錯誤,編寫的時候也沒注意檢查,在網上苦苦尋找,也沒怎麼找到幾個像樣的說法,今天再
error C2143: syntax error : missing ')' before '*'
碰到一個問題,記錄下。 像這種問題一般會想到程式漏寫了什麼。。不過有時錯誤提示的地方是第三方庫的cpp檔案,這樣就是其他問題了。。 解決辦法(之一,我碰到的):引用第三方庫之前,先引用需要引用的標頭檔
syntax error : missing ';' before identifier
func ace flow tty version tac text game name 原文解決方案 #include "string.h" #include "stdafx.h" #include "Chapter 01 MyVersion.h" #include "
ffmpeg庫編譯時提示common.h檔案錯誤C1189 #error: missing -D__STDC_CONSTANT_MACROS / #define
ffmpeg庫編譯時提示錯誤C1189 #error: missing -D__STDC_CONSTANT_MACROS / #define 在common.h標頭檔案新增如下內容即可解決#ifdef __cplusplus#define __STDC_CONSTAN
【C/C++】【FAQ】令人費解的編譯錯誤:error C2144: syntax error : 'double' should be preceded by ';' 和 error C3646:
今天程式設計莫名其妙的出現了以下兩個編譯錯誤: 1>e:\日常學習\plsa_nmf\plsa_nmf\sutil.h(10): error C3646: ';' : unknown override specifier 1>e:\日常學習\plsa_nmf\plsa_nmf\sutil.h(1
調試時碰到的錯誤syntax error, expect {, actual int, pos 1, json : 3
complete edi 問題 page gpo log color expec logs $.ajax(),get數據時報這個錯誤,上網查了一下,大部分都是從後臺角度給出的分析的原因和方法。 和後臺交流了一下發現是自己格式寫錯了,可能不是這個問題的根本原因,但是假如前端遇
vs2008編譯錯誤fatal error C1902: 程序數據庫管理器不匹配;請檢查安裝解決
不清楚 錯誤 管理器 編譯 ror 匹配 原因 nbsp erro 重裝了本本上的Xp系統,如往常一樣,升級,裝殺毒軟件,開發工具。一些進行的非常順利。然而,在我打開VS2008準備耕作的時候,盡然出現了一邪惡的錯誤提示:vs2008編譯錯誤fatal error C19
Visual Studio 2013 編譯錯誤【error C4996: 'scanf': This function or variable may be unsafe. 】
使用vs2013的scanf函式時出現錯誤,在網上找到的解決方法,轉載過來,我使用的方法二 error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To
vs2010編譯錯誤:error MSB3073: :VCEnd” exited with code 1.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command ""D:\vsproject\HCheck\D
VS2008編譯錯誤:error C2065: 'PMIB_TCPSTATS' : undeclared identifier c:\program files (x86)\microsoft sdks\windows\v7.0a\include\iphlpapi.h 411
安裝了VS2008編譯之前的程式,結果出現了編譯錯誤,以為是VS2008的Sp1補丁沒裝好,重灌補丁後還是不行,編譯錯誤如下: 雙擊錯誤會定位在iphlpapi.h中, 一個可行的解決辦法是:把iphlpapi.h檔案的line386---line421 都註釋掉了: 然
關於VC編譯錯誤fatal error C1083的解決辦法
錯誤總是不斷的,經驗是累積的。 C1083: Cannot open precompiled header file: 'Debug/<Project-Name>.pch': No such file or directoryThis error results from a missi
C++編譯錯誤提示 [Error] name lookup of 'i' changed for ISO 'for' scoping
在VC 6 中,i的作用域範圍是函式作用域,在for迴圈外仍能使用變數i 即:for (int i = 0; i < n; ++i) { //…… }cout<<i&l
vs2010編譯錯誤:error MSB3073: :VCEnd" exited with code 1.
vs2008編譯通過,但vs2010出現如下錯誤: 1> The system cannot find the path specified. 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Micr
QtCreator編譯錯誤: -1: error: [debug/main.o] Error 1 問題的解決辦法
在使用Qt的時候經常會出現一些莫名奇妙的編譯報錯,有時候真的是無語,經常會遇到諸如 -1: error: [debug/main.o] Error 1 這樣的問題,除錯了很多次後發現和我自己設定的預編譯stdafx.h的標頭檔案有關係。 我常常在.pro檔案中使
Android studio編譯錯誤二:Error: The WIFI_SERVICE must be looked up on the Application
編譯錯誤 Error:Error: The WIFI_SERVICE must be looked up on the Application context or memory will leak on devices < Android N. T
vs2010編譯錯誤fatal error C1902: 程式資料庫管理器不匹配;請檢查安裝解決
這幾天 再用vs2010的編譯的時候突然出現了,fatal error C1902: 程式資料庫管理器不匹配;請檢查安裝解決。到網上各種找解決方案,重灌根本不管用。 後面搜尋到解決方案:將vs2010
VS2010中的編譯錯誤:error C2061: 語法錯誤: 識別符號"string"
編譯程式時出現: error C2061: 語法錯誤: 識別符號"string" 仔細查,在出現錯誤的類的標頭檔案裡已經 #include "String" 經過查詢網上資料,解決如下: 增加一行: using namespace std;