gpt4 book ai didi

c++ - 错误 C2061 : syntax error : identifier 'map'

转载 作者:行者123 更新时间:2023-11-30 02:32:48 26 4
gpt4 key购买 nike

我快疯了。我只有一个 header 和 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 files\mfc dll\project1\project1\activate.h(19): error C2061: syntax error : identifier 'map'
1>c:\users\dani.roca\desktop\autocad files\mfc dll\project1\project1\activate.cpp(13): error C2511: 'int Activate::accion(std::map<_Kty,_Ty> &)' : overloaded member function not found in 'Activate'


#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: fatal error LNK1561:必须定义入口点

最佳答案

替换int accion(map<string, string>& mapa);

int accion(std::map<std::string, std::string>& mapa);
// ^^^^^ ^^^^^ ^^^^^

当您包含 header 时,using namespace std尚未生效。

作为替代方案,您可以添加 using std::map;using std::string;在你的类里面。

class Activate
{
public:
Activate();
~Activate();

using std::map;
using std::string;
int accion(map<string, string>& mapa);
};

关于c++ - 错误 C2061 : syntax error : identifier 'map' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com