【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'

原因

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

解決策

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

const char* nyaa = hogehoge.c_str();

(参考)

まる。

━━━━━━━━━━━━━━━━━
■未経験OK!大学生インターン募集中!
プログラミングやITなど
興味ある方ご連絡ください‎。
(๑ > ﻌ <`)و✧
━━━━━━━━━━━━━━━━━
Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学専攻、趣味はヘルスケア全般。
最近は自作脳波デバイスの設計とそれを使ったインタラクティブアート生成に勤しみ中。

↓アートとか日常。
Instagram:@malmal0v0

お仕事のご依頼はDM又はメールにて。

まる。をフォローする
その他の記事はこちら
【最新版】DMM WEBCAMP徹底比較!就業両立・専門技術・短期集中コースのどれがおすすめ?タイプ別に解説
世界初!?はんだ用卓上リフロー炉で「リフローたこ焼き」は調理できるのか
【エンジニアのキャリアを伸ばす】tech boostの持つ、2つのコースとは?特徴やメリットを解説!【未経験からフリーランスになろう】
【ネタバレ】2024年しろたん新春福袋を購入したので中身を紹介します!【限定品は?総額いくら?】
[Touchdesigner]CHOPの波形グラフをオーバーレイ(重ねて表示)する方法

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