struct MyStruct {
typedef int MyStruct::*Ptr; // my pointer-to-member type
int foo, bar;
};
此代码有效,但是我想将其更新为现代风格,并用typedef
代替using
。使用正确的语法是什么?我尝试了很多选择,但遇到了麻烦。我唯一能找到的例子是指向成员函数 的指针。
答案 0 :(得分:6)
using
语法只是移动标识符位置,一般情况是
typedef ............. foo ..............;
可以更改为
using foo = ............. .............;
您的情况也不例外;该代码可能是using Ptr = int MyStruct::*;
答案 1 :(得分:2)
using Ptr = int (MyStruct::*);
通常,(MyStruct::*)
会出现在非成员指针中*
出现的位置。