我有一個名爲的I定義自己如下一個結構內部的結構統計變量:訪問結構成員變量傳遞到功能
struct myStruct {
struct stat s;
};
,我想找到兩個MYSTRUCT對象之間的ST_MODE之間的區別,所以我的邏輯是指向該結構並使用'。'爲其成員變量。
int func(const void *a, const void *b)
{
return a->s.st_mode - b->s.st_mode;
}
不過,也有與此實施問題:
error: request for member 's' in something not a structure or union
warning: dereferencing 'void *' pointer [enabled by default]
我該怎麼做來糾正呢?
我有使用常量無效*實現它,而我只需要完成的功能體。是的,當這個函數被調用時,它將myStruct對象的地址。謝謝你的答案,它的工作原理。 – maregor 2014-12-03 00:29:32
在這種情況下,你需要做演員(我的第一個例子)雖然這似乎是一個相當人爲的情況。 – wxs 2014-12-03 00:31:08
我同意。我將不得不詢問這個實施的原因。謝謝。 – maregor 2014-12-03 00:32:05