例如,
struct node {
struct node *left, *right;
};
#define LEFT(X) (X->left)
#define RIGHT(X) (X->right)
Run Code Online (Sandbox Code Playgroud)
我想在不改变现有宏接口的情况下禁止这样的宏调用.
LEFT(n) = ...
Run Code Online (Sandbox Code Playgroud)
任何的想法?
试试这个:
#define LEFT(X) ((X)->left+0)
#define RIGHT(X) ((X)->right+0)
Run Code Online (Sandbox Code Playgroud)
#undef LEFT
#undef RIGHT
//template<class T>
inline const node * const LEFT(const node * X) {
return X->left;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
274 次 |
| 最近记录: |