如何调用不同命名空间中的函数?

发布于 2024-11-01 03:49:38 字数 267 浏览 1 评论 0原文

我在命名空间buzz中有一个名为test的函数。

从这个测试函数中,我调用另一个名为 dummy 的函数,该函数位于 namespace example 内。

我收到以下错误:

Dummy 不是 example 的成员。

您能告诉我如何在两个不同的命名空间之间进行通信吗?

谢谢

I have a function called testin namespace buzz.

From this test function i am calling another function called dummy which is inside namespace example.

I get the following error:

Dummy is not a member of example.

Can you please tell me how to communicate between 2 different namespaces?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我家小可爱 2024-11-08 03:49:38

以下代码适用于 gcc(如预期)。你的问题一定是问题中没有的东西。

#include <iostream>

namespace example
{
  void dummy() { std::cout << "Dummy\n"; }
}

namespace buzz
{
  void test() { example::dummy(); }
}

int main()
{
  buzz::test();
}

Following code works with gcc (as expected). Your problem must be with something that is not in the question.

#include <iostream>

namespace example
{
  void dummy() { std::cout << "Dummy\n"; }
}

namespace buzz
{
  void test() { example::dummy(); }
}

int main()
{
  buzz::test();
}
梦冥 2024-11-08 03:49:38

如果命名空间不是嵌套的,您应该从根命名空间开始导航,即:

而不是:

example::dummy

写:

::example::dummy

If the namespace is not nested, you should start navigating from the root one, i.e.:

Instead of:

example::dummy

Write:

::example::dummy
ぃ弥猫深巷。 2024-11-08 03:49:38

您需要为此查询提供代码。否则只是从你的问题来看,我猜你犯了拼写错误:

namespace example {
  void dummy() {}
}
namespace buzz {
  void test () { example::Dummy(); }  // capital 'D' instead of 'd' for dummy
}

自然,Dummy 不是 example 的成员。 :))

You need to provide code for this query. Otherwise just from your question, I guess you are making spelling error:

namespace example {
  void dummy() {}
}
namespace buzz {
  void test () { example::Dummy(); }  // capital 'D' instead of 'd' for dummy
}

Naturally, Dummy is not a member of example. :))

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文