dynamic-cast

    0熱度

    2回答

    我得到的錯誤一樣敏捷的dynamic_cast類無條件用於以下, func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell :CustomTableViewCell = tableView.dequeueReusab

    0熱度

    2回答

    沒有拋出異常...... Finding the type of an object in C++ ...我寫了這個代碼: static TVALUE getUpperBound() { SomeStruct<TVALUE>* t; try { dynamic_cast<SomeStruct<bool>*> (t);

    2熱度

    2回答

    我偶然發現從派生類派生類派生,並發現我的知識存在差距。我一直生活在這個可能的世界 - 直到現在。相反,std::bad_cast被拋出。這裏發生了什麼? #include <iostream> class Base { protected: int x_; public: Base(int x) : x_(x) {} virtual ~Base() = d

    1熱度

    1回答

    在模板類中,我試圖從使用dynamic_cast從文件讀取的字符串進行強制轉換,並希望能夠使用bad_cast異常捕獲失敗的強制轉換。然而,編譯時(與測試程序中設置雙象模板類,我得到這個錯誤的dynamic_cast: datafilereader.cpp(20): error C2680: 'double *' : invalid target type for dynamic_cast 我

    0熱度

    1回答

    在我的程序我有一個基類(ship)和四個派生類(pirate,mercantile,repairing,exploring)和在repairing成員函數我想知道如果由ship *指定的對象物是pirate爲了能夠處理這種情況。 所以在成員函數,我有以下if: ship * shp; shp = map[i][j]->getShip(); //random initialization of

    4熱度

    3回答

    這是我在這個網站的第一個問題,可以隨意突出與我的字的選擇,問題結構等 最近出現任何問題,我開始與多態性處理時使用dynamic_cast,和我已經讀取dynamic_cast不會創建該類的另一個實例,而是創建另一個指向該對象的指針實例。 在測試dynamic_cast時,我遇到了這個問題。下面是代碼: //main.cpp #include <iostream> class Base{

    2熱度

    2回答

    該類是多態的。 爲什麼兩個打印輸出相同? class A { public: virtual void P(){ cout << "A" << endl; } }; class B : public A { public: void P()override{ cout << "B" << endl; } B(){ cout << "

    3熱度

    2回答

    這裏是一個顯然是行不通的,因爲向下轉換「這個」在構造函數中是非法的代碼: #include <cassert> class A { protected: virtual ~A() {} public: A(); }; class B : public A { }; A::A() { assert(dynamic_cast<B*>(this))

    2熱度

    2回答

    比方說,我有一個情況如下: 類X有S類型的字段s。 S由兩個類A和B都實施一些相同的方法/我們都知道然後應在S實現,但不幸的是,這種情況並非如此領域擴展。 現在我想要做這樣的事情: "A or B" downcast_field; if(s instanceof A) downcast_field = (A)s; else if (s instanceof B) downc

    24熱度

    2回答

    5.2.7/7沿說的東西線: 如果T是「指針cv void」,結果是指向最派生類指向x。 這種synatx有什麼好的應用?何時應該使用dynamic_cast<void*>?