我正在嘗試從舊的 MS-DOS 時代編譯我的代碼,但這似乎不適用于 GCC:
typedef struct { int x,y,z; } vector;
inline void vect_add(vector& c,vector a, vector b)
{
c.x=a.x b.x;
c.y=a.y b.y;
c.z=a.z b.z;
}
基本上,我試圖回傳一個結構體,該結構體后來用作 vector.x 等,而不是將其重寫為指向 struct 的指標并將所有內容重寫為 vector->x 等
見(向量和c,
uj5u.com熱心網友回復:
這可能是有效的 C ,但它不是有效的 C。
在 C 中,您需要使用指標、全域變數或實際回傳一個結構體。
typedef struct { int x, y, z; } vector;
inline void vect_add(vector* c, vector a, vector b)
{
c->x = a.x b.x;
c->y = a.y b.y;
c->z = a.z b.z;
}
vect_add(&c, a, b);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/336487.html
上一篇:在輸入中找到兩個最大的數字
下一篇:我的程式只在特定情況下有效
