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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

编译出现的问题解决

發布時間:2024/7/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编译出现的问题解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.exception handling 異常處理

知識點的補充

  • 1.了解拋出異常時發生了什么 throwing raised
  • 2.捕獲異常時的情況 catch
  • 3.傳遞錯誤對象的意義 (拋出表達式的類型,調用鏈決定處理那段代碼-handler)

異常處理:

1.讓一個函數發現了自己無法處理的錯誤時throw拋出異常。一個庫的作者可以檢測出發生怎樣的錯誤,卻不知道如何處理;庫的使用者處理錯誤,卻無法檢測何時發生。這就需要最基本的異常檢測


2.C++中的錯誤:

  • 語法錯誤(編譯錯誤):變量為定義、缺少括號、關鍵字缺失等錯誤可以在函數進行編譯的時候發現錯誤。編譯器可以告知發生錯誤的位置、原因。容易去改正代碼
  • 運行時錯誤:內存越界、數組下標等問題,但是可以進行編譯進行運行,運行時會出現錯誤導致程序的崩潰。就是為了更好的處理程序在運行時候的錯誤,引入了異常處理機制來解決問題。

3.C語言使用的方法

  • 1.int整形值來標識錯誤(整形的返回值 0or 1)
  • 2.error的宏來實現

exception:

  • bad_cast
  • runtime_error:
    • overflow_error
    • underflow_error
    • range_error
  • logic_error:
    • domain_error
    • invalid_argument
    • out_of_range
    • length_error
  • bad_alloc

代碼片段截取

//劍指offer(面試題11 旋轉數組中的最小數字) #include <iostream> #include <cstdlib> #include <exception> // using namespace std;int MinInOrder(int* numbers, int index1, int index2);int Min(int* numbers, int length) {if(numbers == nullptr || length <= 0)throw new std::exception("Invalid parameters"); // 出現錯誤int index1 = 0;int index2 = length - 1;int indexMid = index1;// 如果數組旋轉了,則進入數組,如果數組沒有旋轉 直接返回 index1 就是最小元素while(numbers[index1] >= numbers[index2]){// 如果index1和index2指向相鄰的兩個數,// 則index1指向第一個遞增子數組的最后一個數字,// index2指向第二個子數組的第一個數字,也就是數組中的最小數字if(index2 - index1 == 1){indexMid = index2;break;}// 如果下標為index1、index2和indexMid指向的三個數字相等,// 則只能順序查找indexMid = (index1 + index2) / 2;if(numbers[index1] == numbers[index2] && numbers[indexMid] == numbers[index1])return MinInOrder(numbers, index1, index2);// 縮小查找范圍if(numbers[indexMid] >= numbers[index1])index1 = indexMid;else if(numbers[indexMid] <= numbers[index2])index2 = indexMid;}return numbers[indexMid]; }

直接修改

int Min(int* numbers, int length) {if(numbers == nullptr || length <= 0)throw new std::invalid_argument("Invalid parameters"); // 都是直接表示是什么錯誤// 例如 throw std::overflow_error("too big") // 或者是 const std::exception& e

關于 exception handling 異常處理還是需要學習
慢慢積累

2.頭文件定義問題 “__declspec” 屬性不能使用

報錯問題

error: '__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes

看一看代碼片段

// 結構化定義一個鏈表結點 // 并定義結點的基本函數 struct ListNode {int m_nValue;ListNode* m_pNext; };// 這個問題一直沒有解決,可能是xcode的配置問題 /* error: '__declspec' attributes are not enabled; use'-fdeclspec' or '-fms-extensions' to enable support for __declspecattributes*/ // 注釋一下 // 也找不到解答,問題看不懂 __declspec( dllexport ) ListNode* CreateListNode(int value); __declspec( dllexport ) void ConnectListNodes(ListNode* pCurrent, ListNode* pNext); __declspec( dllexport ) void PrintListNode(ListNode* pNode); __declspec( dllexport ) void PrintList(ListNode* pHead); __declspec( dllexport ) void DestroyList(ListNode* pHead); __declspec( dllexport ) void AddToTail(ListNode** pHead, int value); __declspec( dllexport ) void RemoveNode(ListNode** pHead, int value);

解決辦法

哈哈哈,我能告訴你我沒有找到解決的辦法嗎?
沒有具體的文檔,而且不清楚這個是什么含義,這個問題暫且擱置,后面解決

更新解決辦法

//解決的辦法也比較暴力,直接在頭文件中進行修改 //直接將前面的刪除掉 //編譯環境 clang ListNode* CreateListNode(int value);void ConnectListNodes(ListNode* pCurrent, ListNode* pNext);void PrintListNode(ListNode* pNode);void PrintList(ListNode* pHead);void DestroyList(ListNode* pHead);void AddToTail(ListNode** pHead, int value);void RemoveNode(ListNode** pHead, int value);

轉載于:https://www.cnblogs.com/GeekDanny/p/10020166.html

總結

以上是生活随笔為你收集整理的编译出现的问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 成人3d动漫一区二区三区91 | 在线看免费 | www.色偷偷| 久久毛片视频 | 亚洲最大av网 | 国产精品久久久久一区二区三区 | 91香蕉视频在线观看免费 | 日本精品一区二区三区四区的功能 | 欧美一区二区福利 | 最新免费av网站 | 最近中文字幕免费 | 国产美女特级嫩嫩嫩bbb | 狠狠干2021| 久久久剧场 | 91香蕉国产在线观看 | 国产香蕉一区二区三区 | 一级片免费看视频 | 青草久久网 | 国产va| 午夜激情在线播放 | 欧美大白bbbb与bbbb | 一区免费在线 | 黄色一级片黄色一级片 | 欧美俄罗斯乱妇 | 欧美黄色网络 | 色爽| 色综合av| 91av久久久 | 久久在线一区二区 | 国产情侣在线播放 | 免费精品久久 | 欧美日韩午夜激情 | 亚洲欧美日韩电影 | 美女写真福利视频 | 婷婷调教口舌奴ⅴk | 国产一区二区免费在线观看 | 一本色道久久加勒比精品 | 国产吧在线 | 草草影院1 | 国产成人短视频在线观看 | 香蕉伊人网| 日韩性在线 | 337p粉嫩大胆噜噜噜噜69影视 | 最新中文字幕久久 | 激情欧美一区二区三区精品 | 欧美性久久 | 日韩午夜视频在线 | 欧美一级黄色片在线观看 | 不卡视频一区二区三区 | 国产精品入口a级 | 中文幕无线码中文字蜜桃 | 欧洲做受高潮欧美裸体艺术 | 天堂а在线中文在线新版 | 精品视频免费看 | 成人免费在线观看 | wwwxxx日本人 | 国产美女永久无遮挡 | 国产综合一区二区 | 91 在线观看 | 久久黄网 | 日本视频在线看 | 久久亚 | 欧美用舌头去添高潮 | 91国模| 欧美性受xxx黑人xyx性爽 | 天天草综合 | 秋霞av鲁丝片一区二区 | 中文字字幕 | 国产精品sm调教免费专区 | 日韩福利在线播放 | 亚洲卡一卡二卡三 | 中文字幕在线观看视频网站 | 国产一卡二卡 | 樱花草涩涩www在线播放 | 国产美女无遮挡免费视频 | 欧美卡一卡二卡三 | 亚洲欧美在线不卡 | 黄色网页在线 | 久久视频在线免费观看 | av网站久久| 牛牛超碰| 午夜成年人视频 | 日本3级网站 | 天天干夜夜想 | 2019亚洲天堂 | 婷婷天堂 | 久伊人 | 一区av在线 | 一级黄色欧美 | 涩色视频| 日韩区欧美区 | 国产网站在线免费观看 | 韩国三级与黑人 | 色偷偷免费视频 | 疯狂做受xxxx高潮人妖 | 依依成人综合 | 无人在线观看的免费高清视频 | 国产色无码精品视频 | 中文字幕av一区二区 |