[英]error: cannot convert 'std::basic_string<char>' to 'char' in assignment
[英]error: cannot convert ‘std::basic_string<char>’ to ‘int’ in assignment
我收到以下代碼的上述錯誤。 請幫我解決我做錯的事情。 此代碼具有嵌套結構。 現在,它根據用戶給出的輸入為生成結構生成名稱。
#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;
}
}
我正在嘗試打印此答案:
4
foo: generation0
foo: generation1
foo: generation2
foo: generation3
generation.genName為INT類型,而您希望不進行任何轉換就傳遞一個字符串值,這就是為什么它會給它一個錯誤。 解決方案:在進行轉換之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.