C++11中的Const成员变量
Const Member Variables in C++11
代码
category::category ( const std::string p_name , std::string p_ImagePath) :
m_name { p_name },
m_ImagePath {p_ImagePath }
{
}
标题
#pragma once
#include <string>
class category
{
public:
const int i;
explicit category ( const std::string p_name ,const std::string p_ImagePath);
~category ( );
std::string GetName ( );
private:
std::string m_name;
std::string m_ImagePath;
};
由于分配运算符,我总是会出现错误
Fehler 1错误C2280:"booking&booking::operator=(const-booking&)':试图引用已删除的函数C:\Program Files(x86)\Microsoft Visual C++Compiler 2013年11月CTP\include\utility 53
如果我试图在类中使用const成员变量或const静态成员变量。
I tried const i = 5;
static const i = 5;
and const i; -> i gets initialized in constructor.
什么都不管用,我该怎么解决?我不能使用constexpr,因为vs2013没有帮助它:(
我已经检查了一些关于Stackoverflow的问题,但一切都与constexpr 有关
您必须显式定义复制赋值运算符。由于class
有一个const
,非static
数据成员,那么编译器定义的复制赋值运算符将被删除。
此外,在您的class
定义中,const
、非static
数据成员的含义也完全不清楚。
至于构造函数,您可以删除函数说明符explicit
,并将参数定义为常量引用。
category( const std::string &p_name, const std::string &p_ImagePath );
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- C++预处理会生成变量成员、资源库和映射
- 局部堆栈变量成员的返回值优化
- Google Mock:在目标类的构造函数中实例化的模拟私有变量成员
- 使用指向结构变量成员的指针访问该结构的成员的地址
- 如果派生类仅包含自动变量成员,是否有必要具有虚拟驱动器
- 线程安全性和静态变量/成员功能
- "static const char array"可以在 C 语言上包含变量成员吗
- 仅用于内部目的的类的所有变量/成员的技术术语是什么
- 如何强制转换变量成员以将其作为函数的引用参数传递
- 类中未声明变量成员函数
- 在 main 中初始化类的 "static const" 类型变量成员的更好方法
- c++模板类静态const变量成员作为映射键给出未定义引用
- 在类中初始化结构变量成员会导致分割错误
- 在c++中建模变量成员类型
- 模板私有静态变量成员的未定义符号
- 不能访问公共静态变量成员
- 常量变量成员在C++有什么用?
- g++ 4.8.2坚持简单变量成员是数组