C++ 错误:无法转换‘;标准::基本字符串<;char>’;至‘;int’;委派
我得到以下代码的上述错误。请帮我解决我做错的事。此代码具有嵌套结构。目前,它根据用户提供的输入为生成结构生成名称C++ 错误:无法转换‘;标准::基本字符串<;char>’;至‘;int’;委派,c++,C++,我得到以下代码的上述错误。请帮我解决我做错的事。此代码具有嵌套结构。目前,它根据用户提供的输入为生成结构生成名称 #include <iostream> #include <algorithm> #include <string> #include <iomanip> #include <limits> #include <stdio.h> #include <sstream> using namespace
#include <iostream>
#include <algorithm>
#include <string>
#include <iomanip>
#include <limits>
#include <stdio.h>
#include <sstream>
using namespace std;
using std::stringstream;
struct rootset {
double totSize;
const char *rStrtPtr;
const char *rEndPtr;
struct generations {
double totSize;
const char *genStrtPtr;
const char *genEndPtr;
int numOfGen;
int genName;
struct object {
double objSize;
const char *objStrtPtr;
const char *objEndPtr;
string id;
char markBit;
char objPtr;
struct freeList {
double freeSpace;
int flNumb;
};
};
} generation;
};
int main()
{
int gen =0;
cin >> gen;
rootset* pRootSet = (rootset*)malloc(1200);
for( i=0; i<gen; i++) {
stringstream out;
out << i;
string s = out.str();
string foo = "generation";
pRootSet->generation.genName = foo.append(s); /*Error is here*/
cout<<"foo: "<<foo<<endl;
}
}
generation.genName是INT类型,而您希望在不进行任何转换的情况下传递字符串值,这就是它给出错误的原因。解决方案:在之前进行转换
4
foo: generation0
foo: generation1
foo: generation2
foo: generation3