c++头文件源文件 有关问题都标了 麻烦大家帮帮忙,郁闷ing。

c++头文件源文件 问题都标了 麻烦大家帮帮忙,郁闷ing。。
#pragma once
#include<string>
using std::string;
struct Employee
{
int a;
string m_Name;

Employee()  
{
a = 10;
string m_Name = NULL; //这如果写这个就报错了 为什么啊???

}
};
class test
{
public:
test(void);
~test(void);
void sss();
};
//源文件:
#include "StdAfx.h"
#include "test.h"

test::test(void)
{
}
void test::sss()
{
Employee* s1 = new Employee;
}
test::~test(void)
{
}

还有谁能好好给我解释解释源文件和头文件的区别和用法啊??在一个.cpp写时候什么事都没有,一用这个就犯晕。。错都不知道错哪了。如果有好的文章推荐推荐我去看看好好学下,谢谢大家了

------解决方案--------------------
string m_Name = NULL; 
有这么初始化string的吗?