【问题标题】:How does one implement a function from a namespace?如何从命名空间实现一项功能?
【发布时间】:2011-08-09 04:28:00
【问题描述】:

基本上,这是我的源代码。

namespace name {  
    int func (void);  
}

int main (void) {  
    name::int func (void) {  
        //body
    }  
    return 0;  
}

现在,我想在不同的地方编写在命名空间中声明的函数。

【问题讨论】:

    标签: c++ function namespaces implementation


    【解决方案1】:

    你不能像这样在另一个函数中定义函数。有两种选择:

    重新打开命名空间,并在其中定义函数:

    namespace name {
        int func() {
            // body
        }
    }
    

    在命名空间之外(以及任何函数或类定义之外),使用它的完全限定名称来定义它:

    int name::func() {
        // body
    }
    

    【讨论】:

      【解决方案2】:

      您不能在 C++ 中的函数内部定义函数。

      这行得通

      namespace name {  
          int func (void);  
      }
      int name::func (void) {  
              //body
      } 
      int main (void) {  
      
          return 0;  
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-14
        • 1970-01-01
        • 2014-12-10
        • 2015-04-17
        • 2014-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多