-1
我試圖獲取在不同的源文件(other.c)中定義的結構的大小以使其隱藏。獲取隱藏結構的大小C
在other.h:
typedef struct X x_t;
在other.c:
struct X{
int y;
int z;
};
現在我想在main.c中得到這個結構的大小。
#include "other.h"
int main(){
x_t *my_x;
my_x = malloc(sizeof(struct x_t));
return 0;}
但是這給了我以下錯誤:
error: invalid application of ‘sizeof’ to incomplete type ‘struct x_t’
任何人可以幫助我嗎?謝謝!
你不能這樣做。如果你想'main.c'能夠在'struct X'的實例(而不是指針)上運行,你需要在頭文件中定義。 –
'sizeof'在編譯時進行評估。如果'struct'不可見,則無法調整大小。 –
沒有'struct x_t',只有'x_t'或'struct X'這樣的事情 – user3078414