编译器错误 C2275

“identifier”:将此类型作为表达式的非法使用

表达式使用带有 typedef 标识符的 -> 运算符。

下面的示例生成 C2275:

// C2275.cpp
typedef struct S {
    int mem;
} *S_t;
void func1( int *parm );
void func2() {
    func1( &S_t->mem );   // C2275, S_t is a typedef
}