gpt4 book ai didi

c++ - 未指定字符串

转载 作者:行者123 更新时间:2023-11-28 00:39:32 24 4
gpt4 key购买 nike

我正在尝试创建一个包含许多不同类的程序。不知何故,尽管#include < string>已多次使用,我仍然遇到缺少类型说明符错误。

我不知道这是哪里。有谁知道这个问题可能起源于哪里,或者如果不知道我可以采取什么步骤来尝试和调试这个问题?

很抱歉这篇文章很长,我只是不想遗漏任何内容。

主要.cpp:

#include <iostream>
#include "ATP.cpp"
#include "AtlasObject.cpp"
#include "MAP.cpp"
#include "AtlasObjectFactory.cpp"

using namespace std;

int main()
{
cout << "Hello World!" << endl;
return 0;
}

map 集.cpp:

#ifndef ATLASOBJECT_CPP
#define ATLASOBJECT_CPP

#include <string>


class AtlasObject{

public:
virtual void create();

protected:
string uid;
string label;
int colorR;
int colorB;
int colorG;
char *data;
int isEncrypted;

void set_uid(string id);
void set_label(string l);
void set_color(int r, int b, int g);
void set_data(char* inData);
void set_isEncrypted(int encrypted);

string get_uid();
string get_label();
string get_color();
vchar* get_data();
int get_isEncrypted();
};

void AtlasObject::set_uid(string id) {}
void AtlasObject::set_label(string l) {}
void AtlasObject::set_color(int r, int b, int g) {}
void AtlasObject::set_data(char *inData) {}
void AtlasObject::set_isEncrypted(int encrypted) {}

string AtlasObject::get_uid() {}
string AtlasObject::get_label() {}
string AtlasObject::get_color() {}
char* AtlasObject::get_data() {}
int AtlasObject::get_isEncrypted() {}

#endif

AtlasObjectFactory.cpp:

#ifndef ATLASOBJECTFACTORY_CPP
#define ATLASOBJECTFACTORY_CPP
#include "AtlasObject.cpp"

class AtlasObjectFactory
{
public:
static void getInstance();
~AtlasObjectFactory();
AtlasObject* createObject(int obj_type);

private:
AtlasObjectFactory();
};
#endif

ATP.cpp:

#ifndef ATP_CPP
#define ATP_CPP

#include <string>
#include <map>
#include "AtlasObject.cpp"

using namespace std;

struct Image{
string Dim;
string Vox;
string Ori;
char* data;
};

class APT
{
private:
map<string,int> listOfMaps;
Image referenceImage;

protected:
};
#endif // AtlasObject.cpp

map .cpp:

#ifndef MAP_CPP
#define MAP_CPP

#include "AtlasObject.cpp"

class MAP : public AtlasObject
{
public:
void create();
};
void MAP::create()
{
}
#endif

最佳答案

在您的 AtlasObject.cpp 文件中,您应该添加:

using std::string;

由于 std::string 是在命名空间 std 下创建的,并且您没有指定 using namespace std

关于c++ - 未指定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19526878/

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