簡體   English   中英

錯誤:無法轉換&#39;std :: basic_string <char> 從&#39;到&#39;int&#39;分配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM