【C/C++】could not convert ‘xxx’ from ‘std::__cxx11::string’ {aka ‘std::__cxx11::basic_string‘} to ‘String’と出る時の解決法

Programming error

事象

Line_notify使用中に、連結した文字列を出力しようとしたところArduino IDEにて下記エラーが表示される。

exit status 1 could not convert 'lmsg' from 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'} to 'String'
Code language: JavaScript (javascript)

原因

Arduino関数 String() はC++の型である文字列クラス std::string をそのまま受け取ることは出来ない。

解決策

std::stringのメンバ関数であるc_str()を使い、char* 型のポインタを返すようにする。
具体的には以下。

const char* nyaa = hogehoge.c_str();
Code language: JavaScript (javascript)

(参考)

まる。

Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学、趣味はヘルスケア全般。

最近は自作脳波デバイスとそれを使ったインタラクティブアートのチューニングに勤しみ中。
お仕事の依頼はDMもしくはメールにて。

↓アートとかの趣味アカ。よかったらみてね。٩(๑❛ᴗ❛๑)
Insta:@malmal0v0

まる。をフォローする
その他の記事はこちら
【4K60fpsキャプチャソフト】EaseUS RecExperts Pro版の機能を使ってレビューしてみた。(Windows/Mac対応)
【C++/Arduino】文字列をシンプルに結合する方法
【C++】追加の変数宣言・格納なしに効率良く文字列を追加させる方法
【C/C++】could not convert ‘xxx’ from ‘std::__cxx11::string’ {aka ‘std::__cxx11::basic_string‘} to ‘String’と出る時の解決法
【格安SIM】povo2.0にてテザリングができない時の解決法(Android)

タイトルとURLをコピーしました