在单独的头文件(C ++)中声明的名称空间中定义函数

时间:2016-02-28 01:44:19

标签: c++ scope namespaces

我有一个问题,我一直在寻找,并且是C ++的新手,我甚至不知道这是否可行。我试图在编程书中复制一组代码,但是当我尝试在Visual Studio中使用它时,我得到一个错误,告诉我"该函数无法在当前范围内定义" ;

如果我把它从"记录"命名空间它工作正常。

那么,这段代码是合法的,还是有一个关于这种语法的怪癖我只是不知道?

#include <iostream>
#include "Employee.h"
using namespace std;
namespace Records {
Employee::Employee()
: mFirstName("")
, mLastName("")
, mEmployeeNumber(-1)
, mSalary(kDefaultStartingSalary)
, mHired(false)

}

1 个答案:

答案 0 :(得分:0)

首先,你需要一个构造函数的主体:

namespace Records {
Employee::Employee()
: mFirstName("")
, mLastName("")
, mEmployeeNumber(-1)
, mSalary(kDefaultStartingSalary)
, mHired(false)
{
}

}

并且必须在Employee.h的Employee命名空间中声明Records