在c ++中,我说在头文件中定义了一个结构.
******test.h***********
typedef struct mystruct{
uint8_t num;
} mystruct;
Run Code Online (Sandbox Code Playgroud)
在另一个头文件中,比如myclass.h,我想定义一个与mystruct中的字段"num"具有相同类型(uint8_t)的变量.
******myclass.h***********
class myclass{
public:
??? num;
};
Run Code Online (Sandbox Code Playgroud)
有没有办法定义这样的变量?谢谢.
使用C++ 11,您可以使用decltype:
class myotherclass
{
public:
decltype (myclass::num) otherNum;
};
Run Code Online (Sandbox Code Playgroud)
不使用C++ 11,我这样做的典型方法就是退一步.创建一个typedef:
typedef uint8_t MyIntegral;
Run Code Online (Sandbox Code Playgroud)
然后在两个类中使用相同的类型:
class myclass
{
public:
MyIntegral num;
};
class motherclass
{
pulic:
MyIntegral othernum;
};
Run Code Online (Sandbox Code Playgroud)
这不是您要求的,但如果您可以更改您的定义,myclass您可能会发现这种方法更易于维护.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |