読者です 読者をやめる 読者になる 読者になる

non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

俺がAtom Shellを0.20.0に上げた時の話

はじめに

この記事は、@kjunichiの2014年パーソナルアドベントカレンダーの15日目の記事です。

C++難しい

Atom Shellを0.19.5から0.20.0に上げたら、ビルド出来るようにしたnode-webclモジュールのビルドが 出来なくなった。


アプリのヘッダが変更されたくらいで、なんでint型をsize_t型に変更でケチが付くのか やっぱり好きなれない。

../src/context.cc:192:23: error: non-constant-expression cannot be narrowed from type 'int' to 'size_t'
      (aka 'unsigned long') in initializer list [-Wc++11-narrowing]
    size_t lengths[]={utf8.length()};
                      ^~~~~~~~~~~~~
../src/context.cc:192:23: note: override this message by inserting an explicit cast
    size_t lengths[]={utf8.length()};
                      ^~~~~~~~~~~~~
                      static_cast( )

何かstatic_castって見覚えあるような

何かですこし調べて勉強した気もするが、忘れてる。
size_t lengths[]={static_cast(utf8.length())};
clangの親切なエラーメッセージも最初はさっぱり分からず、3度目のチャレンジで 上の書き方にして何とかコンパイル通せた。

関連記事