scope什么意思?
“was not declared in this scope”是一個(gè)錯(cuò)誤信息,在編譯的時(shí)候會遇到。其含義為標(biāo)識符在其出現(xiàn)的地方是未被定義的。
出現(xiàn)該錯(cuò)誤的時(shí)候,會同時(shí)把未定義的變量名顯示出來。比如如下程序:
int main()
{
printf("%d",i);//這個(gè)i是沒定義的。
}
這時(shí)就會顯示一個(gè)'i' was not declared in this scope或者類似的錯(cuò)誤信息出來。
對于變量和函數(shù),如果未定義都會出現(xiàn)這個(gè)錯(cuò)誤,該錯(cuò)誤出現(xiàn)時(shí),需要根據(jù)出現(xiàn)該錯(cuò)誤的行號及名稱,查找對應(yīng)名稱變量或函數(shù)的作用,一般有如下幾種可能:
1、忘記定義。寫代碼的時(shí)候疏忽了,導(dǎo)致一些變量直接使用但沒有定義。只要對應(yīng)定義相應(yīng)的函數(shù)或變量即可。
2 、拼寫錯(cuò)誤。寫代碼的時(shí)候,敲錯(cuò)了字符。比如sum敲成了Sum, average敲成averge等。對應(yīng)修改即可。
3 、作用域不正確。在超出變量和函數(shù)的作用域部分使用了該變量或函數(shù)。需要通過定義位置,或增加聲明的手段,加大變量的作用域使其包含引用位置。
擴(kuò)展資料:
C語言是一門通用計(jì)算機(jī)編程語言,廣泛應(yīng)用于底層開發(fā)。C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在許多電腦平臺上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級電腦等作業(yè)平臺。
二十世紀(jì)八十年代,為了避免各開發(fā)廠商用的C語言語法產(chǎn)生差異,由美國國家標(biāo)準(zhǔn)局為C語言制定了一套完整的美國國家標(biāo)準(zhǔn)語法,稱為ANSI C,作為C語言最初的標(biāo)準(zhǔn)。[1]目前2011年12月8日,國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(IEC)發(fā)布的C11標(biāo)準(zhǔn)是C語言的第三個(gè)官方標(biāo)準(zhǔn),也是C語言的最新標(biāo)準(zhǔn),該標(biāo)準(zhǔn)更好的支持了漢字函數(shù)名和漢字標(biāo)識符,一定程度上實(shí)現(xiàn)了漢字編程。
C語言是一門面向過程的計(jì)算機(jī)編程語言,與C++,Java等面向?qū)ο蟮木幊陶Z言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。https://iknow-pic.cdn.bcebos.com/0eb30f2442a7d93317ef2c01a04bd11373f00179