日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

void value not ignored as it ought to be

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 void value not ignored as it ought to be 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天解決了一個問題:
void value not ignored as it ought to be / return-statement with a value, in function returning 'voi
我想用changeA的結果去影響changeB的if判斷.
開始我的方法是建立兩個全局變量a和b,試圖在changeA函數內部修改全局變量int a的值,結果測試后發現,在changeA里修改后,值可以改變,但是changeA運行結束后int a的值依然為1,并沒有發生變化,

int a = 1; int b = 1;void setup() {// put your setup code here, to run once:Serial.begin(115200); }void loop() {// put your main code here, to run repeatedly:changeA(a);changeB(a); }void changeA(int a) {a = 100;Serial.println("在changeA中的a=");Serial.println(a); } void changeB(int a) {if (a == 100){b =100;} }

所以我就在loop中增加了println的監控,我發現a只是在changeA中發生了改變,全局變量一直都沒有因為changeA的運行發生變化,所以我改變了我的思路,我準備將changeA實例化給retA, 然后return一個返回值,再將retA傳參給changeB進行判斷.

int a = 1; int b = 1;void setup() {// put your setup code here, to run once:Serial.begin(115200); }void loop() {// put your main code here, to run repeatedly:Serial.println("在changeA修改前的a=");Serial.println(a);changeA(a);Serial.println("在changeA修改后的a=");Serial.println(a);changeB(a); }void changeA(int a) {a = 100;Serial.println("在changeA中的a=");Serial.println(a); } void changeB(int a) {if (a == 100){b =100;} }

代碼如下,修改后編譯下發現報錯了,void value not ignored as it ought to be 和 return-statement with a value, in function returning ‘void’ [-fpermissive] , 查了資料發現void 建立的函數不能把返回值實例給一個變量,所以就把void改成了int,結果測試成功了.并且我發現changeB參數名稱可以和傳參的名稱不一樣

int a = 1; int b = 1;void setup() {// put your setup code here, to run once:Serial.begin(115200); }void loop() {// put your main code here, to run repeatedly:Serial.println("在loop中的a=");Serial.println(a);delay(1000);int retA = changeA(a);Serial.println("在loop中的retA");Serial.println(retA);delay(1000);changeB(retA); }int changeA(int a) {a = 100;return a; } int changeB(int a) {if (a == 100){Serial.println("成功了");} }

總結

以上是生活随笔為你收集整理的void value not ignored as it ought to be的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。