" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

visual?studio?2022一個不易發(fā)現(xiàn)的問題

 更新時間:2022年07月04日 08:32:18   作者:人間正道是滄桑80  
本文主要介紹了visual?studio?2022一個不易發(fā)現(xiàn)的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

D:\Program Files(x86)\C++(從入門到放棄)\01 結(jié)構(gòu)體定義和使用\x64\Debug\01 結(jié)構(gòu)體定義和使用.exe (進程 23260)已退出,代碼為 -1073741819。

昨天晚上學習C++的時候,學習到結(jié)構(gòu)體,跟著老師寫代碼發(fā)現(xiàn)何老師一模一樣的代碼總是編不過去。沒有打印信息,總是報錯。

源代碼如下:

#include <iostream>
#include <string>
#include <ctime>
using namespace std;

struct student
{
?? ?string name;
?? ?int score;
};

struct teacher
{
?? ?string name;
?? ?struct student sArray[5];
};

void allocateSpace(struct teacher tarray[], int len)
{
?? ?string nameSeed = "ABCDE";;
?? ?for (int i = 0; i < len; i++)
?? ?{
?? ??? ?tarray[i].name = "teacher_";
?? ??? ?tarray[i].name += nameSeed[i];
?? ??? ?for (int j = 0; j < 5; j++)
?? ??? ?{
?? ??? ??? ?tarray[i].sArray[j].name = "Student_";
?? ??? ??? ?tarray[i].sArray[j].name += nameSeed[j];

?? ??? ??? ?tarray[i].sArray[j].score = 60;
?? ??? ?}
?? ?}
}

void printinfo(struct teacher tarray[], int len)
{
?? ?for (int i = 0; i < len; i++)
?? ?{
?? ??? ?cout << "老師姓名:" << tarray[i].name << endl;
?? ??? ?for (int j = 0; j < 5; j++)
?? ??? ?{
?? ??? ??? ?cout << "\t學生姓名: " << tarray[i].sArray[j].name <<
?? ??? ??? ??? ?" 考試分數(shù): " << tarray[i].sArray[j].score
?? ??? ??? ??? ?<<endl;
?? ??? ?}
?? ?}
}

int main()
{
?? ?struct teacher tarray[3];
?? ?int len = sizeof(tarray) / sizeof(tarray[0]);
?? ?srand((unsigned int)time(NULL));
?? ?allocateSpace(tarray, len);
?? ?printinfo(tarray, len);
?? ?return 0;
}

仔細研究發(fā)現(xiàn)在同一個項目中的另一個源文件中有一個同名結(jié)構(gòu)體,但是數(shù)據(jù)屬性不一樣。

目標文件為07,代碼上面已經(jīng)附了。此處和07源文件中的teacher熟據(jù)屬性不一致。導致執(zhí)行報錯。

這個未知的錯誤,完全查看不出來。也無從調(diào)試。

找出問題的過程:

我把整個源碼放到code::blocks中進行編譯成功運行。后來把該項目中的源文件按個“右鍵-屬性-從生成中排除- 是”排除之后單個編譯通過,挨個添加到04時編譯不過,添加左右的除了04文件其他均通過。由此判斷是為04問題。但是04中的main函數(shù)我改為main04,也無法編譯。仔細查看04代碼發(fā)現(xiàn)有一個結(jié)構(gòu)體

struct teacher
{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
    int id;
    string name;
    int age;
    struct student stu;
};

和07中結(jié)構(gòu)體

struct teacher
{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
    string name;
    struct student sArray[5];
};

名字一模一樣,單數(shù)數(shù)據(jù)屬性不一樣。修改04中的teacher為Teacher之后編譯通過。

結(jié)論:

visual studio 2022在同一個項目中可以有同名結(jié)構(gòu)體,但是數(shù)據(jù)屬性必須要一致,否則會報錯誤(該錯誤很難找且很詭異)。

到此這篇關(guān)于visual studio 2022一個不易發(fā)現(xiàn)的問題的文章就介紹到這了,更多相關(guān)visual studio 2022一個不易發(fā)現(xiàn)的問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

乌兰浩特市| 大城县| 星子县| 克山县| 屯门区| 灵武市| 区。| 塔城市| 望奎县| 昔阳县| 酉阳| 云林县| 军事| 台江县| 阿合奇县| 弋阳县| 荆门市| 锡林浩特市| 阳山县| 上虞市| 连南| 陆丰市| 克什克腾旗| 齐齐哈尔市| 三穗县| 双城市| 盐源县| 万安县| 山丹县| 东台市| 乃东县| 梧州市| 青河县| 江陵县| 松桃| 鱼台县| 如东县| 安顺市| 海淀区| 乌兰县| 东乌珠穆沁旗|