在头文件中添加命名空间函数

时间:2018-06-12 14:21:46

标签: c++ namespaces

我尝试使用头文件将单独文件中的命名空间中的函数传输到另一个文件,并且它返回错误

  

"添加"不是"简单"。

的成员

我只是想知道是否可以使用转发函数声明而不是每次在头文件中声明函数,这应该会为包含它的每个.cpp继续复制代码。 这是1.cpp,2.cpp和3.h的基本大纲。

1.cpp

#include "stdafx.h"
// Check this header file for function declarations.
#include "3.h"

int main()
{
    //Example of a single namespace.
    std::cout << simple::add(3, 4);
    return 0;
}

2.cpp

#include "stdafx.h"
namespace simple {
    int simple::add(int x, int y) {
        return x + y;
    }
}

3.H

#ifndef NAMESPACES
#define NAMESPACES
namespace simple {
    int simple::add(int, int);
}
#endif

对任何回答的人表示非常感谢,并且如果以前曾经问过这个问题,我会道歉。

1 个答案:

答案 0 :(得分:0)

找出问题,对于此线程的任何未来观众。 你没有使用前置&#34; simple ::&#34;在标题声明或函数本身,就像我做的那样。

更正后的代码:

<强> 3.H

#ifndef NAMESPACES
#define NAMESPACES
//Header guards are important!
namespace simple {
    int add(int, int);
}
#endif

<强> 2.cpp

#include "stdafx.h"
#include "3.h"
int simple::add(int x, int y) {
    return x + y;
}

1.cpp。

无需更改