如何从命名空间实现函数?

时间:2011-04-20 04:16:21

标签: c++ function namespaces implementation

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

namespace name {  
    int func (void);  
}

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

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

2 个答案:

答案 0 :(得分:9)

你无法在另一个函数中定义函数。有两种选择:

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

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

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

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

答案 1 :(得分:2)

您无法在C ++中的函数内定义函数。

这有效

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

    return 0;  
}