質問です
int hoge(wchar_t *p);
な関数があって
int a = hoge(L"fuga"); だと正常で
int b = hoge("fuga"); だと誤動作します
理由は判りますが
そもそも引数がcompile errorにもwarningにもなりません
C++みたいにcompile errorにする方法は?
探検
C言語なら俺に聞け 164
185デフォルトの名無しさん (スフッ Sd7f-Lg42)
2025/11/25(火) 13:48:33.82ID:rSIO8n1ld186はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6732-A6do)
2025/11/25(火) 15:48:36.00ID:evMdha/k0187はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6732-A6do)
2025/11/26(水) 10:42:02.61ID:ZGYu6bhA0 念のために仕様をよく読んで検討したら wchar_t が char の別名として定義されることは理屈の上では認められることを発見した。
そしてその上で文字列リテラルとワイド文字リテラルが異なる符号体系を持つということも可能ではある。
もしそういう処理系なら >>185 の事例は型が合った上で誤作動 (プログラマの想定と異なる動作) を引き起こすかもしれない。
実際にそういう処理系があるのかどうか知らんけど libc のドキュメント中で組み込みシステムではそういうのも妥当かもしれないという言及がある。
https://www.gnu.org/software/libc/manual/html_node/Extended-Char-Intro.html#index-wchar_005ft
そしてその上で文字列リテラルとワイド文字リテラルが異なる符号体系を持つということも可能ではある。
もしそういう処理系なら >>185 の事例は型が合った上で誤作動 (プログラマの想定と異なる動作) を引き起こすかもしれない。
実際にそういう処理系があるのかどうか知らんけど libc のドキュメント中で組み込みシステムではそういうのも妥当かもしれないという言及がある。
https://www.gnu.org/software/libc/manual/html_node/Extended-Char-Intro.html#index-wchar_005ft
188デフォルトの名無しさん (アウアウウー Sa0b-WraW)
2025/11/26(水) 11:37:21.77ID:g4n+mUAPa >>186
VCで確認したら警告は出たがエラーではないので実行出来た上で誤作動(描かれた通りには動いている)
警告レベル替えればエラーにも出来るんだろうけど
文字列リテラルポインタからワイド文字列リテラルポインタへの自動キャスト(あるいはその逆のキャスト)以外のところにも影響出てエラーだらけになるかも
文字列リテラルポインタからワイド文字列リテラルポインタへの自動キャスト(あるいはその逆のキャスト)限定でエラーにならないかな
VCで確認したら警告は出たがエラーではないので実行出来た上で誤作動(描かれた通りには動いている)
警告レベル替えればエラーにも出来るんだろうけど
文字列リテラルポインタからワイド文字列リテラルポインタへの自動キャスト(あるいはその逆のキャスト)以外のところにも影響出てエラーだらけになるかも
文字列リテラルポインタからワイド文字列リテラルポインタへの自動キャスト(あるいはその逆のキャスト)限定でエラーにならないかな
189はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6732-A6do)
2025/11/26(水) 15:23:02.27ID:ZGYu6bhA0 >>188
MSVC がそんな馬鹿げた仕組みとは驚きだな。
合わない型 (本来は暗黙の型変換も認められない型) は一律にエラーになるべきだけれど、とりあえず自分のコードで型が合わないケースをエラーにしたいなら
#pragma warning(error : 4133)
とするくらいが落としどころじゃないかと思う。
MSVC がそんな馬鹿げた仕組みとは驚きだな。
合わない型 (本来は暗黙の型変換も認められない型) は一律にエラーになるべきだけれど、とりあえず自分のコードで型が合わないケースをエラーにしたいなら
#pragma warning(error : 4133)
とするくらいが落としどころじゃないかと思う。
190デフォルトの名無しさん (スフッ Sd7f-Lg42)
2025/11/27(木) 05:19:27.44ID:KfDQEfrsd191デフォルトの名無しさん (ワッチョイ 5f81-w0D3)
2025/11/29(土) 18:02:47.96ID:MnjgLok40 固定小数点でも誤差が出ます
とかトンチンカンなこと言い出すやついるけど
割り算しなきゃほぼ誤差ないんだよ
とかトンチンカンなこと言い出すやついるけど
割り算しなきゃほぼ誤差ないんだよ
192デフォルトの名無しさん (ワッチョイ 79f6-v69L)
2025/12/01(月) 12:04:42.29ID:HDTmHOXC0 gmp使ったソースだった
レスを投稿する
ニュース
- 【速報】政府、与党がNISA未成年解禁を検討 [蚤の市★]
- 【茶葉高騰】「綾鷹」値上げで650mL220円に 26年3月から [1ゲットロボ★]
- 【女子ゴルフ】都玲華(21)30歳年上の既婚者コーチとの交際関係とコーチ契約解消「昨年からお付き合いしてました。」 [阿弥陀ヶ峰★]
- 【おこめ】ベトナムから密輸のコメを「国産」と偽り販売容疑、ベトナム人ら2人追送検…300トン売って1億3000万円稼いだか 大阪 ★2 [ぐれ★]
- 定数削減「小選挙区25・比例20」軸に検討 自民維新の両党首合意 [ぐれ★]
- 【ポッケに手】中国外交部局長、11月に日系企業の拠点視察「安心して事業活動をしてほしい」と伝達 [1ゲットロボ★]
- とらせん IP
- 競輪実況★1616
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1816
- 巨専】
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap609
- わしせん 楽天モバイル 最強パーク宮城
- Fate/GOスレ
- 【悲報】たぬかな、イベント辞退「身の安全を確保できない」 [329329848]
- おさかなさんあつまれえ
- サイゼ会長「給料上げないと値上げしないよん」 [449534113]
- 【悲報】とうふさん、死亡🏡
- 流行語大賞 「働いて働いて働いて」 に [546716239]
