#概要
- char型をstring型に入れることができない
- ostringstreamを使うと解決できる
#直接代入しちゃダメ
AtCoderで問題解いてるときにchar型をstring型に入れようとしたのですが、エラーが出てしまったので解決法を記します(他にいい方法は沢山ありそうですが)
#include <bits/stdc++.h>
using namespace std;
int main(){
char c = 'a';
string s = c;
cout << s <<endl;
}
このコードだと以下のようなエラーが出てしまいます
hoge.cpp: In function 'int main()':
hoge.cpp:15:16: error: conversion from 'char' to non-scalar type 'std::string' {aka 'std::__cxx11::basic_string<char>'} requested
15 | string s = c;
| ^
#ostringstreamを使おう
ostringstreamを使うとこのような場合でも代入することができます
#include <bits/stdc++.h>
using namespace std;
int main(){
char c = 'a';
ostringstream oss;
oss << c;
string s = oss.str();
cout << s <<endl;
}