Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在单独的头文件(C+;+;)中声明的命名空间中定义函数 我有一个问题,我一直在寻找一点,而且是新的C++,我甚至不知道这是可能的。我试图复制一本编程书中的代码体,但当我试图在Visual Studio中使用它时,我得到一个错误,告诉我“函数无法在当前范围内定义”_C++_Scope_Namespaces - Fatal编程技术网

在单独的头文件(C+;+;)中声明的命名空间中定义函数 我有一个问题,我一直在寻找一点,而且是新的C++,我甚至不知道这是可能的。我试图复制一本编程书中的代码体,但当我试图在Visual Studio中使用它时,我得到一个错误,告诉我“函数无法在当前范围内定义”

在单独的头文件(C+;+;)中声明的命名空间中定义函数 我有一个问题,我一直在寻找一点,而且是新的C++,我甚至不知道这是可能的。我试图复制一本编程书中的代码体,但当我试图在Visual Studio中使用它时,我得到一个错误,告诉我“函数无法在当前范围内定义”,c++,scope,namespaces,C++,Scope,Namespaces,如果我把它从“记录”名称空间中去掉,它就可以正常工作 那么,这段代码是合法的还是我不知道这种语法有什么奇怪的地方 #include <iostream> #include "Employee.h" using namespace std; namespace Records { Employee::Employee() : mFirstName("") , mLastName("") , mEmployeeNumber(-1) , mSalary(kDefaultStartingSa

如果我把它从“记录”名称空间中去掉,它就可以正常工作

那么,这段代码是合法的还是我不知道这种语法有什么奇怪的地方

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

}
#包括
#包括“Employee.h”
使用名称空间std;
名称空间记录{
雇员::雇员()
:mFirstName(“”)
,mLastName(“”)
,mEmployeeNumber(-1)
,澳门特别行政区(kDefaultStartingSalary)
,mHired(错)
}

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

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

}

Employee
也必须在Employee.h中的
Records
命名空间中声明。

Employee.h是什么样子?
Employee
不是
Records
命名空间的成员,它是全局命名空间的成员。谢谢,我从书中复制并粘贴了它,假设语法可能不同。