[過去ログ]
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1478440682/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
953: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 21:46:17.67 ID:RoIBY40S atexitはマニュアルに書いてある通りだから、ここでいちいち説明する必要はない。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/953
954: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 21:53:53.48 ID:RoIBY40S マニュアルこそが聖書。マニュアルを読まない奴等はノンプレイヤー。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/954
955: デフォルトの名無しさん [sage] 2017/07/14(金) 22:54:13.51 ID:RlDfzlps つまりexit()はバカ発見器ってこと? http://mevius.5ch.net/test/read.cgi/tech/1478440682/955
956: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 23:01:28.54 ID:RoIBY40S C++でexit使うぐらいなら、代わりにC++例外を使った方がいいよ。デバッグしやすいし。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/956
957: デフォルトの名無しさん [sage] 2017/07/15(土) 05:41:00.21 ID:81gh4ly6 >>947 exit() 関数に入ってしまってはデストラクタが働かないのに,それでも return 文と一緒といいはるの? それ規格がまちがってるから,そのうち修正がはいるはず http://mevius.5ch.net/test/read.cgi/tech/1478440682/957
958: デフォルトの名無しさん [sage] 2017/07/15(土) 13:25:52.33 ID:d+yGYUAe ポインタの作法に慣れないです 読めるけどかけないです http://mevius.5ch.net/test/read.cgi/tech/1478440682/958
959: デフォルトの名無しさん [sage] 2017/07/15(土) 16:38:44.94 ID:sZ4h7fLQ ポインタは2段までしか使わないなあ 関数ポインタはstd::functionに入れる癖がついたし http://mevius.5ch.net/test/read.cgi/tech/1478440682/959
960: デフォルトの名無しさん [sage] 2017/07/15(土) 17:20:33.71 ID:d+yGYUAe #include<stdio.h> int unko(int x); int aho(int *y); int main(void) { int a[5] = { 1,2,3,4,5 }; unko(a); aho(&a); printf("%x\n%x\n", a, &a); return 0; } int unko(int x) { printf("%x\n", x); return; } int aho(int*y) { printf("%d\n%d\n",*(y+1), y[2]); return; } このとき関数unkoで配列aの中身にアクセスする方法ってありませんか? アドレスがわかっているからできそうな気もするんですがよく解りません。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/960
961: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 17:27:13.54 ID:xLcEZRbh aがint a[5]であるとき、aはint配列の先頭アドレスだ。unkoの引数をポインターにしろ。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/961
962: デフォルトの名無しさん [sage] 2017/07/15(土) 17:56:11.02 ID:d+yGYUAe はい http://mevius.5ch.net/test/read.cgi/tech/1478440682/962
963: デフォルトの名無しさん [sage] 2017/07/15(土) 20:48:00.24 ID:iuayY/9E そもそもこのソースコンパイルエラーになるんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1478440682/963
964: デフォルトの名無しさん [sage] 2017/07/15(土) 21:29:06.16 ID:d+yGYUAe >>963 VSだとコンパイラ通るんですが他のだと通りませんか? あと関数unkoをいろいろ弄ってたんですが #include<stdio.h> void unko(int x); void aho(int *y); int main(void) { int a[5] = { 1,2,3,4,5 }; unko(a); aho(a); printf("%x\n%x\n", a, &a); printf("%d\n",a[4]); return 0; } void unko(int x) { printf("%x\n", x); int *p = x; printf("%d\n%d\n", p[1],*(p+2)); p[4] = 10; return; } void aho(int*y) { printf("%d\n%d\n",*(y+1), y[2]); return; } こんな記述にすれば少なくともVSでは引数をポインタにしなくても配列aの要素を覗いたり操作したりできることがわかりました。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/964
965: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 21:31:54.33 ID:18nkvKxh 型がめちゃくちゃだあああ!!! 型が形無し! http://mevius.5ch.net/test/read.cgi/tech/1478440682/965
966: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 21:36:49.71 ID:18nkvKxh できることとやってもいいことは違うんだよ。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/966
967: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 21:39:23.41 ID:18nkvKxh コンパイル時に出て来る度重なる警告を無視したらダメだよ。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/967
968: デフォルトの名無しさん [sage] 2017/07/15(土) 21:44:11.03 ID:d+yGYUAe すみません http://mevius.5ch.net/test/read.cgi/tech/1478440682/968
969: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 21:46:08.79 ID:18nkvKxh お使いの32ビット環境ではintとint*が同じサイズだから、キャストされれば代入できる。sizeof(int) == sizeof(int*)。 しかし、64ビット環境では動かなくなるかもしれない。ポインター型を無視した良くない書き方だ。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/969
970: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 21:54:52.27 ID:18nkvKxh おそらく、君の環境では、 sizeof(int) == 4, sizeof(int*) == 4 のはずだ。 64bit環境では、多分 sizeof(int) == 4, sizeof(int*) == 8 になる。確認してみたまえ。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/970
971: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 21:57:34.94 ID:18nkvKxh int*のサイズがintのサイズより大きいと、ポインター(アドレス)の値が正しく代入できない。これが64bitで失敗する理由だ。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/971
972: デフォルトの名無しさん [sage] 2017/07/15(土) 22:08:26.63 ID:qXQ9KlTo こまけーことをゴチャゴチャと Cなんて大なり小なり環境依存な場面しか使わん 貴様はintに32767以下しか入れんのか? http://mevius.5ch.net/test/read.cgi/tech/1478440682/972
973: デフォルトの名無しさん [sage] 2017/07/15(土) 22:10:20.05 ID:d+yGYUAe 確かめてみたら確かに自分の環境では両方4バイトでした 64bitのプログラムにしたらダメになるんですね・・・ 勉強になります。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/973
974: デフォルトの名無しさん [sage] 2017/07/15(土) 22:23:44.38 ID:vkKq60sj 2レスで失礼します VC++9Eでruby-opencvのビルドを試みているのですが構文エラーが多発してビルドできません >C:\dev\ruby-opencv>nmake >〜 >cl -I. -I. -IC:/dev/ruby-1.8.7-p374/win32/bin/lib/ruby/1.8/i386-mswin32_90 -IC:/dev/ruby-opencv-master/ext/opencv -MD -O2b2xty- /EHsc -IC:/dev/ruby-opencv-master/ext/opencv/ext/opencv /EHsc -DHAVE_OPENCV2_CORE_CORE_C_H -DHAVE_OPENCV2_CORE_CORE_HPP -DHAVE_OPENCV2_IMGPROC_IMGPROC_C_H -DHAVE_OPENCV2_IMGPROC_IMGPROC_HPP -DHAVE_OPENCV2_VIDEO_TRACKING_HPP -DHAVE_OPENCV2_FEATURES2D_FEATURES2D_HPP -DHAVE_OPENCV2_FLANN_FLANN_HPP -DHAVE_OPENCV2_CALIB3D_CALIB3D_HPP -DHAVE_OPENCV2_OBJDETECT_OBJDETECT_HPP -DHAVE_OPENCV2_LEGACY_COMPAT_HPP -DHAVE_OPENCV2_LEGACY_LEGACY_HPP-DHAVE_OPENCV2_HIGHGUI_HIGHGUI_C_H -DHAVE_OPENCV2_HIGHGUI_HIGHGUI_HPP -DHAVE_OPENCV2_PHOTO_PHOTO_HPP -DHAVE_OPENCV2_NONFREE_NONFREE_HPP -DHAVE_STDARG_H -I/usr/include -IC:\dev\OpenCV2.4\install\include -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -c -TpC:/dev/ruby-opencv-master/ext/opencv/algorithm.cpp >〜 >algorithm.cpp >C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\istream(699) : warning C4003: マクロ 'read' に指定された実引数の数が少なすぎます。 >C:\〜\istream(699) : error C2059: 構文エラー : ')' >C:\〜\istream(846) : コンパイルされたクラスの テンプレート のインスタンス化 'std::basic_istream<_Elem,_Traits>' の参照を確認してください >C:\〜\istream(700) : error C2143: 構文エラー : ')' が '{' の前にありません。 >〜 >C:\〜\xxbind1(320) : warning C4003: マクロ 'bind' に指定された実引数の数が少なすぎます。 >C:\〜\xxbind1(320) : error C2988: 認識できないテンプレートの宣言または定義です。 >C:\〜\xxbind1(320) : error C2059: 構文エラー : ',' http://mevius.5ch.net/test/read.cgi/tech/1478440682/974
975: デフォルトの名無しさん [sage] 2017/07/15(土) 22:24:14.08 ID:vkKq60sj 何らかのファイルが足りないとかならまだ判るのですがこのファイルはVCに付属の物ですし構文エラーなどと言われても理解できません algorithm.cppは一番最初のファイルで全く進まない状態です ちなみにRubyとOpenCVのビルドは一応通っています(本当に問題ないかは未確認) C/C++は不慣れでVSの使用経験もあまりないため原因の見当も付かず手詰まり状態です。もし何か判る方がいたら教えてもらえると助かります http://mevius.5ch.net/test/read.cgi/tech/1478440682/975
976: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 22:27:42.35 ID:18nkvKxh readというマクロが悪さをしているようだ。#include順を変えるか#undefしろ。 http://mevius.5ch.net/test/read.cgi/tech/1478440682/976
977: デフォルトの名無しさん [sage] 2017/07/15(土) 22:35:18.82 ID:Z+b63Gri >>958 使わずに済むのなら無理して使う必要は無いだろ? 正しく動けばそれでいい http://mevius.5ch.net/test/read.cgi/tech/1478440682/977
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 25 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s