unions

    4熱度

    1回答

    我一直在閱讀關於C中的位字段,C標準如何不強制機器字中字段的任何特定排序,等等。 我希望這個問題適合SO的格式。 我的問題是我的結構(定義如下)是否會按我期望的方式執行。這是我想出了定義,然後我將討論什麼,我想: typedef enum { STATE_ONE, STATE_TWO, STATE_THREE, STATE_FOUR } __attribu

    0熱度

    2回答

    我不斷收到以下錯誤,當我下摹編譯外部可見++(這是一個非常漫長的代碼段) error: invalid use of incomplete type 'const struct cmp_bk(const void*, const void*)::bk' error: forward declaration of 'const struct cmp_bk(const void*, const voi

    7熱度

    5回答

    當我打印工會這樣的大小:在使用本 union u { char c[5]; int i; } un; : int _tmain(int argc, _TCHAR* argv[]) { printf("size of union = %d ",sizeof(un)); return 0; } 我得到使用Visual C++中的8答案,但我預計5,

    1熱度

    3回答

    我正在編寫一個Vec3類,併爲了優化目的,我沒有構造函數。 我也希望能夠以x,y,z或者r,g,b或者OR作爲標籤訪問其成員。 容易,你可能會想:使用工會 template <typename T> struct Vec3_t { union { T val[3]; struct { T x, y, z; }; struct {

    1熱度

    2回答

    在構造對象後,我得到NumericType Values (10, 3.1416, 20)的值爲20, 3.1416, 20。是否定義了union中的構造函數的行爲? union NumericType { NumericType() {} NumericType(int i, double d, long l) { iValue = i;

    0熱度

    1回答

    這裏有以下問題,林在接下來的代碼獲得Asisgnment在不兼容的指針類型: 恢復這個給你行43去如下: aux->sig=nodo; 60號線: aux2=aux2->sig; 基本上即時得到每一個錯誤 「AUX2」 這是什麼造成的?如果你能向我解釋這一點,我是一名學生,而且我基本上是編程新手。 proyecto2mod.c: In function ‘agrega_nombre’:

    2熱度

    1回答

    我試圖消除seg錯誤的常見原因,例如解引用空指針,但我很難過。在調試模式下,我的測試機器上沒有出現此錯誤,但是在我的生產機器上出現了編譯版本。兩者都設置爲/ O0以消除這種可能性。當我註釋掉字符串賦值時,seg錯誤消失了,現在我只需要了解發生了什麼,以便我可以修復它。 可能還有一些更明顯的情況,但另一個複雜因素是該代碼正在被內核模式應用程序調用,而我從供應商處獲得的關於爲系統編寫安全代碼的指示是「

    2熱度

    2回答

    下面的函數計算32位的浮點值的絕對值: __forceinline static float Abs(float x) { union { float x; int a; } u; //u.x = x; u.a &= 0x7FFFFFFF; return u.x; } 工會ü在函數聲明保持變量x,其是從被作爲函數參數

    0熱度

    2回答

    我對工會以及他們如何分配內存感到困惑。說我有: union Values { int ivalue; double dvalue; }; Values v; 所以我知道INT使用4個字節和雙用途的8個字節,所以總共有(我認爲)分配8個字節,隨着中說了多少內存會v使用?

    3熱度

    4回答

    這樣做: union{ int * integer; char * character; } u; u.integer = new int; delete u.character; u.integer = new int[5]; delete [] u.character; 我認爲如果有這些類型的具有不平凡的析構函數這是行不通的,但是這行嗎?