質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1113閲覧

mapのkeyにchar16_tを使いたい!!

miiichat

総合スコア72

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/04/27 06:34

いつもありがとうございます!!!

今回はmapを使ってみました。

keyにchar16_tを使いたいのですが、、

data[u"あ"] = c[0];
auto itr = data.find(u"あ");

でエラーが。

operator< がないとだめってのはちょっと見ました。

わかる方教えてくれたら助かります!!

struct Vertex { float x; float y; float z; float w; } c[65536]; void main() { std::map <char16_t, Vertex> data; data[u"あ"] = c[0]; auto itr = data.find(u"あ"); if (itr != data.end()) { std::cout << "" << std::endl; } else { std::cout << "" << std::endl; } std::cin.get(); }

#####error

E0349 これらのオペランドと一致する演算子 "[]" はありません E0304 オーバーロードされた関数 "std::map<_Kty, _Ty, _Pr, _Alloc>::find [代入_Kty=const char16_t, _Ty=Vertex, _Pr=std::less<const char16_t>, _Alloc=std::allocator<std::pair<const char16_t, Vertex>>]" のインスタンスが引数リストと一致しません E0304 オーバーロードされた関数 "std::map<_Kty, _Ty, _Pr, _Alloc>::find [代入_Kty=const char16_t, _Ty=Vertex, _Pr=std::less<const char16_t>, _Alloc=std::allocator<std::pair<const char16_t, Vertex>>]" のインスタンスが引数リストと一致しません C2664 'std::_Tree_const_iterator<std::_Tree_val<std::_Tree_simple_types<_Ty>>> std::_Tree<std::_Tmap_traits<_Kty,Vertex,_Pr,_Alloc,false>>::find(const char16_t &) const': 引数 1 を 'const char16_t [2]' から 'const char16_t &' へ変換できません。 C3536 'itr': 初期化前に使用することはできません C2678 二項演算子 '!=': 型 'int' の左オペランドを扱う演算子が見つかりません (または変換できません) (新しい動作; ヘルプを参照)。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

data['あ'] = c[0];

なのでは

投稿2019/04/27 06:36

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miiichat

2019/04/27 06:42

回答ありがとうございます!! 早すぎてびっくりしました。 その通りでした。 std::map <const char16_t*, Vertex> data; data[u"あういえお"] = c[0]; std::map <const char16_t, Vertex> data; data[’あ’] = c[0];
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問