【发布时间】:2016-03-16 12:44:53
【问题描述】:
我快疯了。我只有一个标头和 cpp,它没有编译:
.h 如下:
#pragma once
#include <string>
#include <map>
#include <windows.h>
class Activate
{
public:
Activate();
~Activate();
int accion(map<string, string>& mapa);
};
和cpp这个:
#include "Activate.h"
using namespace std;
Activate::Activate()
{
}
Activate::~Activate()
{
}
int Activate::accion(map<string, string>& mapa){}
我得到了上面提到的错误:
1>c:\users\dani.roca\desktop\autocad 文件\mfc dll\project1\project1\activate.h(19):错误 C2061:语法错误: 标识符“地图”
1>c:\users\dani.roca\desktop\autocad files\mfc dll\project1\project1\activate.cpp(13): 错误 C2511: 'int Activate::accion(std::map<_kty> &)' : 重载成员函数 在“激活”中找不到
#include "Activate.h"
using namespace std;
Activate::Activate()
{
}
Activate::~Activate()
{
}
int Activate::accion(std::map<string, string>& mapa){}
还有这个
class Activate
{
public:
Activate();
~Activate();
int accion(std::map<std::string, std::string>& mapa);
};
然后出现新的错误:
1>LINK : 致命错误 LNK1561: 必须定义入口点
【问题讨论】:
-
main() 在哪里?没有 main() 就无法编译。 main() 就是生命。
-
@PiotrSkotnicki 我为什么要这样做?我已经在使用命名空间 std
-
“使用命名空间标准”should be avoided。令人遗憾的是,有多少没有受过教育的教师正在向他们的学生教授这种糟糕的编程实践。
标签: c++ dictionary visual-studio-2013