JIS規格の誤り

ときどき、更新します。

JIS C++ の誤りについて

私が今までに見つけたもの。(訂正内容は私が適当に訳した)

2.10/2
× (17.4.3及び1.2参照)
○ (17.4.3.1.2参照)


3.4.3.2/5
パラグラフの最後の文『otherwise (the declarations are from different namespaces), the program is ill-formed.』が訳されていない。


5.16/1
× 第2演算対象又は第3演算対象のどちらか(両方ではない)が、例外送出(15.1)となる。結果は、他方の型の右辺値とする。
○ 第2演算対象又は第3演算対象のどちらか(両方ではない)が、送出式(15.1)の場合、結果は、他方の型の右辺値とする。


11.4/2 例のコメント部分
× 基底箇条
○ 基底節


14.6.1/1
『injected-class-name』の訳として、「補整クラス名」と「補正クラス名」が混在している。
3.4/3では、「補正クラス名」、3.4.3.1/1a、 9./2では「補整クラス名」が使われている。


17.3.2.1.3.1
『null character』の訳として「ナル文字」と「ヌル文字」が混在している.


20.4.1.1/4
脚注216が訳されていない。(この脚注はn2588.pdf(2008/3/17)にて削除された。)


27.6.2.6/1 二行目
× 書式付き関数
○ 書式なし関数


27.8.1.4
× 多重定義された仮想関数
○ 上書きされた仮想関数


2ch C++0xスレでの指摘

272 :デフォルトの名無しさん:2006/12/21(木) 11:30:13
JIS X3014:2003って、
ISO/IEC 14882:2003の逐語訳じゃないんですね。
省略されているところがあってびっくりしました。

13.3.1.2.3のnon-memberのところ。


http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200804/08040046.txtでの指摘

tetrapod 2008/04/16(水) 14:31:13

C++ JIS X3014:2003 5.式 (4)
相続く2つの副作用完了点の間では、1つの式の評価によってスカラオブジェクトの
格納値が変わるのは、高々1回でなければならない。
C99 JIS X3010:2003 6.5.式
直前の副作用完了点から次の副作用完了点までの間に、式の評価によって
1つのオブジェクトに格納された値を変更する回数は、高々1回でなければならない
に反するので未定義っすね

以下感想というか重箱の隅というか

X3014 の訳文は ISO/IEC 14882 の原文中における a scalar object の a を
訳出していないので不正確(1つのスカラオブジェクトとする必要がある)
i=++a+b--; は副作用完了点の間に3つの副作用があるけど正しい式文

ISO/IEC 14882 5.(4) で挙げられているサンプルには unspecified とあって
X3014 もそれを忠実に訳しているので未規定とあるが、
これは 14882 がそもそも間違っていると思われる


16.3/8 脚注141
×(2.1.1.2の翻訳段階参照)
このような箇条はない。(原規格の間違い)
ISO 9899に同内容の脚注があり、コピーしたまま、箇条番号の修正ミスと思われる。


5.2.1/1
× 前の式は、“T へのポインタ”という型でなければならず、後の式は、列挙型又は汎整数型でなければならない。
○ 式の一方は、“T へのポインタ”という型でなければならず、もう一方の式は、列挙型又は汎整数型でなければならない。


『array of unknown bound』に対して複数の訳語が混在している。
3.9/7 「境界値不明の配列」
4.2/1 「要素数未知の配列」
8.3.4/1 「要素数未知の配列」及び「上限不明の配列」
8.3.5/6 「上限不明の配列」
8.5.1/4 「大きさが不明な配列」


12.3/1
× 《型指定子列》には、クラス、列挙体及び型定義名を宣言してはならない。
○ 《型指定子列》内で、クラス、列挙体及び型定義名を宣言してはならない。


8.5/2
× 名前空間有効範囲の中の自動変数、レジスタ変数、静的変数及び外部変数は、
○ 自動変数、レジスタ変数、静的変数及び名前空間有効範囲の中の外部変数は、


8.5.1/1
× 次のいずれをももたない配列又はクラス
○ 配列又は次のいずれをももたないクラス


23.2.2/2 脚注247
『These』が訳されていない。


cppll:13417での指摘

【21.3.5.6 basic_string::replace】-【JIS X 3014 : 2003】
>参考 このメンバ関数呼出しの後,文字列の長さは,*hoge* となる。

...と言った文言が頻繁にでてくるのですが、この文言の原文は...

【21.3.5.6 basic_string::replace】-【ISO/IEC 14882 : 2003】
>Notes: Length change: *hoge* .

...で、ISO/IEC 14882 がここで言及しているのは間違いなく長さの"差分"
の話だと思うのですが、JIS X 3014 では長さ"そのもの"と誤訳してしまっ
ています。

C++相談室 part63での指摘

537 デフォルトの名無しさん [] Date:2008/10/20(月) 00:06:35 ID: Be:

...


しかも JIS に至っては、
23.2.4 の段落 2 で modifiers を修飾子と訳しているのに、
23.2.4.3 では変更子になっている。まあ、これは単語の誤訳でも別にいいんだが。

...

附属書B (参考) 処理系限界
× 一つのメンバ,構造体又は共用体内のデータメンバの個数(16384)
○ 一つのクラス,構造体又は共用体内のデータメンバの個数(16384)

14.6/8
× 上の例で、iは、printcallで宣言された局所変数iであり、
○ 上の例で、iは、printallで宣言された局所変数iであり、

20.3.5/1
×否定子(nagator)not1
○否定子(negator)not1


22.1.1.1.1 表52 必要な具現化
×

time time_get
time_get_byname
time_get
time_get_byname
time_put
time_put_byname
time_put
time_put_byname

time time_get
time_get_byname
time_get
time_get_byname
time_put
time_put_byname
time_put
time_put_byname

原規格の誤り、現在のドラフトは既に修正済み


2ch C++相談室 part69での指摘

460 デフォルトの名無しさん [sage] Date:2009/05/25(月) 06:40:45 ID: Be:
JIS X3014 6.6.3 return の 2 の最終行、「未定」が「末定」になってるw


JIS X3014の値初期化の記述に悩まされるで8.5の訳に抜けありとの指摘あり。