[英]Compiling c++0x for AVR
我目前正在為AVR平台編寫一些c ++代碼,並且想要禁用一些根本不可復制的內容。 鑒於我已經在使用c ++ 0x功能,我認為一種好的方法是使用=delete
說明符:
write_only(write_only const&) = delete;
但是,當我嘗試對此進行編譯時,出現以下錯誤:
error: invalid pure specifier (only `= 0' is allowed) before ';' token
這向我表明,avr-gcc不支持此特定的c ++ 0x語言功能。 這是我做錯了嗎? 如果不是,最好的解決方法是什么?
我正在使用WinAVR-20100110進行編譯。
WinAVR已過時,請改用Atmel Studio 。
如果您真的想繼續使用WinAVR,請找到gcc
或g++
可執行文件並使用-v
命令行參數運行它,然后告訴我們它報告的版本。 請注意,自4.4版( 鏈接 )以來,GCC支持刪除功能。
無論如何,在編譯使用C ++ 11功能時,還必須添加-std=gnu++0x
或-std=c++11
或-std=gnu++11
參數,或者-std=c++1y
或-std=gnu++1y
以啟用C ++ 14(C ++ 1y)功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.