c++ - 如何在 C++ 中访问命名空间中的类成员函数
问题描述
我有一个命名空间。该类位于命名空间中。
namespace SALES
{
class Sales
{
...
我已经创建了函数。
void SALES::Sales::set()
{
...
现在我正在创建一个对象
SALES::Sales interactive ();
但我无法找到方法。请指出我的错误。
interactive.set();
// 不起作用
SALES::interactive.set();
// 不起作用
interactive.SALES::set();
// 不起作用
解决方案
访问函数的非静态成员的方法是使用对象运算符的成员。例如,
class SomeObject {
public:
SomeObject() {}
void SayHello() { ... }
int age = 10;
};
// When calling members.
SomeObject object;
object.SayHello();
int age = object.age;
并且在实例化时,使用SALES::Sales interactive;
orSALES::Sales interactive{};
代替。如果不是当您尝试这样做时:SALES::Sales interactive ();
,C++ 将尝试将其解析为函数。现在在你的情况下,第一个;interactive.set();
需要工作。
如果它仍然不起作用,则可能与成员的可访问性有关。默认情况下,类将其成员设为私有;只有朋友类和它本身可以访问这些对象。因此,请确保成员是公开的。
推荐阅读
- xml - ubl xml 的 xslt 没有任何价值
- android - 如何在 ExtendedFloatingActionButton 中添加矢量颜色图标
- android - 如何在whatsapp-sticker pack [Android][Unity-Android plugin]中动态添加贴纸?
- python - 更新用户的个人资料图片,但不要求用户上传图片
- mongodb - 如何将集合的字段与另一个集合的数组内的字段匹配
- azure - 用于创建 SFTP-SSH 连接器的 ARM 模板问题
- c - C中的整数变量
- sql - 列 SQL 百分比的总和
- javascript - CSS-样式-如何在产品下方显示购物篮总数
- azure - 'where' 运算符:无法解析名为 ' 的列或标量表达式
'