静态成员在姓氏中功能
Static member functions in namesapce
我在我的班级内有静态成员函数,我想在我的名称空间中添加。
class A{
public:
static void func();
};
namespace myNamespace{
void A::func(){
...
}
}
int main(){
myNamespace::A::func;
}
我得到以下错误:
- 错误:" void a :: func()"的定义不在命名空间中,封闭了" a" [-fpermissive]
- 错误:‘mynamespace :: a'尚未声明mynamespace :: a :: func(); void a :: func(){
原因是什么?
,因为您将属于a a a a内命名空间的函数放置。只需在命名空间内将类和函数合在一起,您的代码应该像这样
namespace myNamespace {
class A {
public:
static void func();
};
void A::func() {
}
}
int main()
{
myNamespace::A::func;
return 0;
}
声明和定义都应在名称空间内部,以使其工作。在您的代码中,您已在命名空间之外声明了课程。您可以按照以下方式进行修复。
namespace myNamespace{
class A{
public:
static void func();
};
void A::func(){
...
}
}
int main(){
myNamespace::A::func;
}
还尝试了解错误消息,这可以节省您很多时间谷歌搜索。
https://www.crashhandler.com/--> C 中的最佳实践{edit ::我自己的博客}
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 如何在C++中使用非静态成员函数作为回调函数
- (C++)为什么静态成员可以在初始化之前使用
- 类的全局对象和静态成员
- 在作为静态成员包含在另一个类中的类的构造函数中使用 cout
- 模板化类中静态成员的延迟初始化
- 使用静态成员声明类时遇到问题
- C++:是否可以使用非静态成员变量模板?
- C 11螺纹 - 非静态成员功能的使用无效 - 工作GCC 5.1.0损坏的GCC 7.3.1
- 将非静态成员函数C 的使用无效,而将成员功能作为函数变量
- 静态成员在姓氏中功能
- 通过静态成员功能使ADL工作
- 如何在C 11中创建指针映射以静态成员功能
- 静态成员功能和全局功能之间有什么不同
- 提升侵入性unordered_set静态成员功能返回错误的尺寸类型
- 一个类本身有一个静态成员的功能是什么?
- 应在共享库中避免静态成员功能
- 如何用功能指针作为参数初始化静态成员的模板
- 如何在HASHER中使用非静态成员功能
- 为什么没有将虚拟静态成员添加为C++的一个功能