2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

コンパイラ「はいエラーね。関数なんだからちゃんと値返せよ」 俺「は?」

1 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:02:25.422 ID:6L7FHuXmp.net
俺「は?」

int max(int m,int n){
if(m>n){
return m
} else{
return n
}
}

2 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:02:55.584 ID:AHzm4QcDp.net
コンバインかと

3 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:03:27.454 ID:NtvvT1kfa.net
値入れろよ

4 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:04:29.293 ID:piWLHde00.net
型が

5 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:05:09.309 ID:9luEajNsa.net
;

6 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:05:32.886 ID:514ytbfaa.net
のーみそこねこね

7 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:05:49.367 ID:vbZma5/W0.net
こんぱいる

8 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:06:56.128 ID:hJPdv2cha.net
mとnを宣言?

9 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:07:42.420 ID:obCoe63A0.net
これだめなんか

10 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:08:01.460 ID:6L7FHuXmp.net
どの場合でも値返してるのに最外ブロックでも戻り値書かないと関数として定義できない謎

11 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:08:19.471 ID:yvkb/E+5r.net
>>5
これ

12 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:08:33.679 ID:TpI2j29zd.net
屁理屈は通らない

13 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:09:15.679 ID:y4HCDuUdd.net
;入れて

14 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:09:23.763 ID:OY6S+8Iz0.net
何言語

15 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:09:25.710 ID:9luEajNsa.net
;

16 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:09:31.363 ID:6L7FHuXmp.net
ああ、セミコロン抜けはスルーしてくれ

17 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:09:37.436 ID:eEHNlC0Wa.net
とりあえずreturn null入れといて

18 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:09:54.156 ID:Kq3DoHIU0.net
いや書けよスルーしてくれじゃなくて

19 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:11:09.408 ID:9luEajNsa.net
つーかさ
elseいらなくね?

20 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:11:42.021 ID:6L7FHuXmp.net
俺が言いたいのは

int max(int m,int n){
if(m>n){
return m;
} else{
return n;
}
}



int max(int m,int n){
if(m>n){
return m;
}
return n;
}

とかにしなきゃいけないってことね
別に上でもいいじゃん

21 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:11:46.781 ID:y4HCDuUdd.net
無駄が多い

22 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:12:42.961 ID:wR/60r8Yp.net
これがダメな理由がわからん

23 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:13:36.390 ID:Lhts8F7Zd.net
言語は?

24 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:13:36.783 ID:6L7FHuXmp.net
>>22
>>10

25 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:13:37.164 ID:AzjT5C6ia.net
エラーじゃなくてワーニングじゃないの?

26 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:14:27.357 ID:6L7FHuXmp.net
>>23
C#

>>25
いやコンパイルエラー

27 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:14:52.121 ID:wR/60r8Yp.net
>>24
えるすリターンの下にリターン0かいとけばいいの?

28 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:14:58.542 ID:UXl0HnC4d.net
コンパイラ「そんなことまで考えてられるか」
考えてくれるやつもあるけど

29 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:15:50.224 ID:8LO9gzvE0.net
COBOLのコンパイラはIBM製のがいいよね?

30 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:16:01.534 ID:8MDWUu1p0.net
>>26
そんな事ないが
別のとこでエラー起こしてるんだろ

31 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:16:27.790 ID:9luEajNsa.net
そりゃコンパイラの種類によるだろ

32 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:16:36.144 ID:6L7FHuXmp.net
>>27
そうそう、それでもいける
到達不能なのにな

33 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:17:29.828 ID:NtvvT1kfa.net
コンパイラくんもただのプログラムなのでいじめないで

34 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:18:11.835 ID:6L7FHuXmp.net
>>30
int型の関数なのでちゃんと値返しましょうってメッセージ出るぞ

35 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:18:18.853 ID:Lhts8F7Zd.net
>>26
手元のPCでコンパイルしたら通ったぞ?

36 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:18:26.034 ID:HOP3gwc80.net
ちなみにclangでコンパイルしてみたけど何も言われずに通ったよ

37 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:18:49.966 ID:6L7FHuXmp.net
>>31
まじ?

38 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:18:50.810 ID:9luEajNsa.net
お前らはなぜみんな同じコンパイラを使ってると思ってるんだ

39 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:19:31.213 ID:YuIFJFmh0.net
コンパイラー何使ってんの?

40 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:19:41.799 ID:5fhz7LTZ0.net
ぬるぽ

41 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:19:43.195 ID:vbHRVWxrp.net
なんかオプションつけたらワーニング回避できない?
それか古いバージョンのコンパイラか

42 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:20:06.382 ID:Kq3DoHIU0.net
お前が使ってるコンパイラゴミじゃね?なんでそんなもん使ってんの?

43 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:20:08.807 ID:6L7FHuXmp.net
>>35
え、マジか
何でだろう

44 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:20:26.602 ID:uztTIIN8M.net
else ifで普通にいけるくね?

45 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:20:33.030 ID:9luEajNsa.net
>>37
有能コンパイラくんは警告出して通す
無能コンパイラくんはエラーで通さない
無能な働き者コンパイラくんは何も言わずに通す
なんてのはよくある

46 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:21:02.814 ID:Lhts8F7Zd.net
>>38
C#なら大半が.NET付属のコンパイラじゃね
Monoはしらん

47 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:21:28.862 ID:8MDWUu1p0.net
>>34
どこにもエラー出てないけど?

https://i.imgur.com/xVY88uk.png

48 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:21:51.282 ID:6L7FHuXmp.net
BSだから多分.netかな

49 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:22:19.267 ID:6L7FHuXmp.net
誤字
VS

50 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:23:38.109 ID:UXl0HnC4d.net
gccは通った
それくらいなら三項演算子使うけど

51 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:24:08.758 ID:6L7FHuXmp.net
>>45
コンパイラにも有能無能あるんだな

>>47
ほんまや
警告も何も出ないのか

52 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:24:18.851 ID:jPDfJ4nQ0.net
結局コンパイラのバージョンとか名前も晒さないと「ひとそれぞれ」としか言えないという

53 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:25:03.623 ID:UXl0HnC4d.net
ごめん、clangだった

54 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:26:04.956 ID:8MDWUu1p0.net
>>51
ただし、

if ( m > n ) {
 return m;
} else if ( m <= n ) {
 return n;
}

だと絶対にどっちかのreturnをするはずなのにエラーになった

55 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:26:13.620 ID:8rM6CGe20.net
中にreturnあるの嫌い

56 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:26:28.689 ID:HOP3gwc80.net
ちなみにこんなのはちゃんと警告出します

% cat max2.c
int max(int m,int n){
if (m>n) {
return m;
}
}
% cc -W -Wall -c max2.c
max2.c:5:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
%

57 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:28:57.036 ID:6L7FHuXmp.net
>>54
なるほど
そのコンパイラはelseまで行かないと内容関係無くエラーになるのかね

58 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:32:39.526 ID:7sLWxT0v0.net
>>55
嫌いかどうかより好きかどうかで語れよ

59 :カッタ :2018/08/10(金) 17:35:33.506 ID:wLT4++mhM.net
>>40
ガッ

60 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:35:58.866 ID:8MDWUu1p0.net
>>57
流石に1800京通り全パターンのチェックはできないし、
論理的に全パターンを網羅できてるかどうかの判断までやろうとすると際限なくなるからやらないのだろう

if ( m > n ) {
 return m;
} else if ( true ) {
 return n;
}

くらいに自明だと、少なくともVS2017では完全網羅扱いしてくれる

61 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:38:26.252 ID:G8cOJxKN0.net
>>53
だったって何
どゆこと?

62 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:38:44.905 ID:Ho9fnyMlM.net
>>60
変数と定数だからか
条件が1==1みたいなのでも通りそう

63 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:38:54.780 ID:rnnYGZ+5M.net
コンパちゃん

64 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:40:23.132 ID:6L7FHuXmp.net
>>60
確かに全パターン網羅とか重すぎるわな
あとなんか申し訳ないけど今やったら普通にコンパイルできたわ
だいぶ前にこういうのに遭遇したの思い出してスレ立てたけど多分>>54みたいなパターンのエラーだったんだと思う
ちなみに俺も>>54はエラーになった

65 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:41:10.139 ID:1KGmM3xYa.net
コンパイラ「未初期化変数あるぞ」

66 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:41:15.879 ID:HOP3gwc80.net
VSは使ったこと無いけど関数末尾に
/* NOTREACHED */
このコメント書くとエラー無くなるかも?

67 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:43:33.847 ID:6L7FHuXmp.net
>>65
これも嫌いだわ

68 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:43:56.795 ID:cuGvQuii0.net
このimportいらねえぞ

69 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:44:07.628 ID:6L7FHuXmp.net
>>66
普通にコンパイルできてた
すまぬ

70 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:45:04.364 ID:8MDWUu1p0.net
>>62
正解

private const int i = 1;
static int max(int m,int n ) // OK
{
 if ( m > n ) {
  return m;
 } else if ( i == 1 ) {
  return n;
 }
}

ただし、constではなくreadonlyになると、
値が変わらないだけで定数ではない扱いになるため途端に通らなくなる

private static readonly int i = 1;
static int max(int m,int n ) // NG
{
 if ( m > n ) {
  return m;
 } else if ( i == 1 ) {
  return n;
 }
}

71 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:51:30.736 ID:8MDWUu1p0.net
>>64
解決おめでとう

>>66
C#的には、適当な例外をスローするコードにしとくのがよさそうではある

72 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:52:13.358 ID:HOP3gwc80.net
>>69
ん?最初のコードでもコンパイル出来てたの?

73 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:53:50.259 ID:6L7FHuXmp.net
>>72
ああ、うん
なんかごめん

74 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:54:40.123 ID:7HtoM2/D0.net
ますます謎

75 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:56:06.671 ID:nC3dxlDv0.net
>>44
普通とは…

76 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:59:47.695 ID:HOP3gwc80.net
ちょっともやっとしてる
あとC言語のつもりで書いてたけどC#だったんだねスマン

77 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 17:59:48.721 ID:8MDWUu1p0.net
なおVS2010の時点ですらちゃんと通ったことをお伝えしておきます
VS2003とかの頃だともしかしたらダメだったのかもしれないが、流石にそんな古いのは知ったこっちゃない

78 :以下、?ちゃんねるからVIPがお送りします:2018/08/10(金) 18:02:37.386 ID:QUftLA3E0.net
のーみそこねこね

総レス数 78
16 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★