您好我無法理解爲什麼函數調用changeAdBreak()
後,「播放」的值仍然是「false」。在另一個函數中沒有設置變量引用的問題
在每個函數中,我使用了一個引用參數來修改main()函數內部創建的對象。
但是,當此對象傳遞給函數時,由於某種原因,「播放」屬性不會被設置。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Video{
public:
bool played;
};
class AllVideos{
public:
vector<Video> ads;
};
void changeAd(Video& ad)
{
ad.played = true;
}
void changeAdBreak(AllVideos& mybreak)
{
changeAd(mybreak.ads[0]);
}
int main()
{
AllVideos mybreak;
Video my_ad;
my_ad.played = false;
mybreak.ads.push_back(my_ad);
vector<AllVideos> breaks;
breaks.push_back(mybreak);
cout << "ad played = " << breaks[0].ads[0].played << endl;
changeAdBreak(mybreak);
cout << "ad played = " << breaks[0].ads[0].played << endl;
return 1;
}
非常感謝你! – codeshark