如何在 C++ 中访问命名空间中的 class 成员函数

How to access class member function in a namespace in C++

我有一个命名空间。 class 在命名空间中。

namespace SALES
{
    class Sales
    {
    ...

我创建了函数。

void SALES::Sales::set()
{
   ...

现在我正在创建一个对象 SALES::Sales interactive ();

但我无法找到方法。 请指出我的错误。

interactive.set(); // 无效

SALES::interactive.set(); // 无效

interactive.SALES::set(); // 无效

访问函数的非静态成员的方法是使用 member of object 运算符。例如,

class SomeObject {
public:
    SomeObject() {}

    void SayHello() { ... }
    
    int age = 10;
};

// When calling members.
SomeObject object;
object.SayHello();
int age = object.age;

并且在实例化时,使用 SALES::Sales interactive;SALES::Sales interactive{}; 代替。如果不是,当您尝试这样做时:SALES::Sales interactive ();,C++ 将尝试将其解析为函数。现在就您而言,第一个; interactive.set(); 需要工作。

如果还是不行,可能是会员的可访问性问题。 类 默认将其成员设为私有;只有朋友 类 和它自己可以访问这些对象。所以确保成员是 public.