Ale*_*lex 20 c++ static-functions
我无法解决这个问题.这是一个简单的例子:
class x
{
public:
void function(void);
private:
static void function2(void);
};
void x::function(void)
{
x::function2(void);
}
static void function2(void)
{
//something
}
Run Code Online (Sandbox Code Playgroud)
我得到错误,其中抱怨function2是私有的.如果我把它公开(我真的不想这样做),我会得到关于对function2的未定义引用的错误.我究竟做错了什么?谢谢!
Sam*_*eer 36
您不能在类中拥有函数声明和定义.将定义移出类或删除声明.
您不能使用void作为参数调用函数.这只在声明中使用.
如果在类之外需要ax :: qualifier和static,则第二次不需要function2的函数定义.
class x
{
public:
void function(void);
private:
static void function2(void);
};
void x::function(void)
{
x::function2();
}
void x::function2(void)
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19963 次 |
| 最近记录: |