検索結果 934 件

by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: calloc + strcpyについて
返信数: 10
閲覧数: 2264

Re: calloc + strcpyについて

わん さんが書きました:連続して領域を確保すると、どのように考えればよろしいでしょうか?
単なるバッファーオーバーランによる未定義動作の結果なので,「たまたまこうなった」としか考えようがないです。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数の解読
返信数: 3
閲覧数: 900

Re: 乱数の解読

この疑似乱数系を,どのように暗号に利用するのでしょうか。 パスワードにするだけであれば,十分な長さと文字種を用意すれば,事実上の強度の違いは存在しないと思います。 暗号化処理において通常,疑似暗号で作成したソルトとパスワードをハッシュ関数に通す事によって実際の暗号鍵を作り出します。 # 結城浩「 暗号技術入門 第3版 」第11章 通常暗号のクラックには辞書攻撃が最初に行われますが,これは人が入力する可能性の高いパスワードを先に試す事によって解読の可能性を上げるためであって,パスワードが乱数によって生成されたのであれば,乱数自体の解析よりもパスワード自体の総当たりで解読する事になると思います。 ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数で負の数を取る場合と倍数を調べる場合
返信数: 4
閲覧数: 1790

Re: 乱数で負の数を取る場合と倍数を調べる場合

 1か0かから始まる範囲の乱数なら分かるのですが、  これが負の数となるとどう書いていいのかがどうしてもわかりません………。 乱数の範囲の最小値が0になるようにシフト(足し算)した範囲の乱数を発生させ、そのシフトを元に戻す(引き算)ことで求めることができます。  下の問題は出来たのですが、これだけがどうしてもわかりません。 基本的な部分は,理解していますか。 つまり,範囲[-10, 10]の乱数を発生させる事と,範囲[0, 20]の乱数を発生させることは同じことである,ということです。 後者の乱数を作る (コードを書く) 事はできるんですよね。 そこから前者を作り出すには,すぐにわかると思い...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]std::unique_ptrをコピーしたい
返信数: 9
閲覧数: 2820

Re: [c++]std::unique_ptrをコピーしたい

std::reverseに限定して書くならば,*firstがswappableであることを要求します。 つまり,今回に関しては,std::swap<MyClass>を特殊化し,その中でpimplをswapすればよいことになります。 まぁ,特殊化とはいえ外部からprivateなメンバを弄るのは気持ちが悪いので, swapメンバ関数を用意して特殊化されたstd::swapから呼ぶ事になると思いますが。 ref) ISO/IEC 14882:2011 ・17.6.3.2 Swappable requirements ・25.3.10 Reverse ¶2 ただ,24.4.1 Iterator tra...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ表示プログラムのデバック中に例外がスローされた。
返信数: 15
閲覧数: 3905

Re: マップ表示プログラムのデバック中に例外がスローされた。

この場合、どうすればいいのでしょうか。 ちゃんと,デバッグすればよいです。 ただ,それだけです。 と宣言しているため、GetValue関数の戻り値が0か1でないと Stage.cppの14行目のDrawRectGraph関数でアクセス違反が発生します。 残念ながら,よっぽど変わった値でない限り,0x00000008へのアクセスは起きません。 0x00000008へのアクセス違反という事実から,((T*)nullptr)->fooみたいなアクセスが一番考えられる事です。 shino0526yさん、変数indexの値のエラー確認のルーチンを教えてくれませんか? 変数の値なんて,ブレークポイント作...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: マップ表示プログラムのデバック中に例外がスローされた。
返信数: 15
閲覧数: 3905

Re: マップ表示プログラムのデバック中に例外がスローされた。

アクションゲームを制作する一環でマップ表示プログラムを作ってみたのですが、以下のような例外がスローされて、実行できません。 例外がスローされている以上,実行されていると思いますが。 0x0067C8DA で例外がスローされました (スタアド.exe 内): 0xC0000005: 場所 0x00000008 の読み取り中にアクセス違反が発生しました 0xC0000005は有効でないメモリへのアクセスです (元々はハードウェア例外)。 0x00000008へのアクセスだから,int型の配列の2番目の要素へのアクセスなどが発生しているのだと思います。 アクセス時の変数やメンバ変数の値,場合によっ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C2079エラーによってプログラムがコンパイルされない。
返信数: 14
閲覧数: 2941

Re: C2079エラーによってプログラムがコンパイルされない。

エラーメッセージの通りです。

Main.hの4行目にCPlayerクラスの宣言はありますが,7行目で定義を必要とするまでに,CPlayerクラスの定義がMain.h内には存在しません。
Main.hを利用する側でMain.hより前にCPlayerクラスの定義をしておけばコンパイル可能ですが,通常はMain.h内で定義がなされるようにします。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: LNK2005エラーが出た。
返信数: 5
閲覧数: 840

Re: LNK2005エラーが出た。

エラーになった関数を定義していないか,定義されているファイルをリンクしていないのでしょう。
CFmfMapクラスの実装のある.cppファイルはプロジェクトに追加されていますか。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++のコンパイルとリンクに関するディレクトリの指定
返信数: 2
閲覧数: 855

Re: C++のコンパイルとリンクに関するディレクトリの指定

visual studio VC++のソーススコードで[インクルード ディレクトリ]と[ライブラリ ディレクトリ]を指定することは可能でそうか。 できません。 ただし, プロパティシート を使えばオプションを.xmlファイルで管理できます。 # include 文で hファイルのフルパス指定がいやですので。 いやなので,というのはあまり理由になっておらず,フルパスで書いた方が面倒ごとは少ないと思いますが。 他に,例えばライブラリをnuget化するなどしてしまうのも方法ですが,結局プロパティシートが必要になります。 see) C++プロジェクトでNuGetを使ってみようよ!(Vol. 2:パッ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。
返信数: 5
閲覧数: 1234

Re: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。

既に書いた通り,問題点はデフォルトコンストラクターがないのにデフォルトコンストラクターを必要とする記述をしていることです。
これをどうすればいいのかは,どうしたいのかに依存するので状況に依るとしか書けません。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。
返信数: 5
閲覧数: 1234

Re: 複数のコードに分けてコンパイルしようとしたら、C2512エラーが出た。

どうもkeito940です。Platinumというマップエディターを使って、アクションゲームのためにマップを読み出すプログラムを作ってそれをコンパイルしようとしたところ、main.cppで何故か「C2512 'CCharMoveAndMap': クラス、構造体、共用体に既定のコンストラクターがありません。」と出ました。 コンパイルエラーであれば,ファイル名と同時に行数も書かれているはずですが。 ざっと見た感じでの問題となりそうな箇所は, Main.cpp #include "Main.h" #include "Player.h" #include "CharMove.h" int Time;...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++でUTF-8
返信数: 3
閲覧数: 1739

Re: C++でUTF-8

VS2017CommunityでUTF-8の文字列を変数に入れ、中身を確認したところ、 <文字列中に無効な文字があります> となってしまい、文字として認識してくれません。 ソースコード自体の文字コードは何ですか。 Visual C++のコンパイラは,Windowsのコードページの文字コードとソースコードの文字コードが一致するのであればそのままコンパイルできますが, そうでないのであれば, /source-charset のオプションを追加しておく必要があります。 なお,このコンパイラオプションはIDEサポートがないので,上記のリンク先にあるように,直接[追加のオプション]として記述する必要が...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C# デリゲートについて
返信数: 2
閲覧数: 587

Re: C# デリゲートについて

単純に,対応するメソッドの形が,
  • 前者はint型の引数を持ち,値を返さないメソッド
  • 後者は引数を持たず,値を返さないメソッド
だからです。それにあわせて,
  • 前者のデリゲートで呼び出されるメソッドCSharpTraning.Program.Aはint型の引数を持ち,値を返さない
  • 後者のデリゲートで呼び出されるメソッドPerson.ShowNameは引数を持たず,値を返さない
となっています。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: コンパイラの警告 (レベル 1) C4819---MSの対処法は嘘 (公開日: 2016年7月)
返信数: 4
閲覧数: 1933

Re: コンパイラの警告 (レベル 1) C4819---MSの対処法は嘘 (公開日: 2016年7月)

Visual Studio 15,つまりVisual Studio 2017では,確かにVisual Studio 2015までには存在した[保存オプションの詳細設定]メニューがなくなっていますね。
ただ,どちらのバージョンでも[名前を付けてファイルを保存]ダイアログの,[保存]ボタンの横の下向き三角を押すと,
[エンコード付きで保存]のメニューが出てきて,これを選択すると文字コード及び改行コードを選択する事が出来ます。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: GOTO文の使い道について
返信数: 9
閲覧数: 1197

Re: GOTO文の使い道について

 何らかの理由で処理を飛ばしたい時に有効ということでしょうか?  ですが見づらくなるので、メモリ破棄には別の方法を使う方が良さそうですね。 デストラクタの実行に相当するようなことをまとめて行うために,リソース解放処理を関数中にまとめておいて,returnの代わりにそこにgotoでジャンプさせて解放処理を行う,というものだと思います。 一般的なgotoの使い方の一つですね。 e.g.) MEM12-C. リソースの使用および解放の最中に発生するエラーが原因で関数を終了する場合に、Goto 連鎖の使用を検討する - JPCERT.CC あとは,多重ループから一気に外に出るために使うくらいが現在利...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドが実行する関数の引数について
返信数: 1
閲覧数: 408

Re: マルチスレッドが実行する関数の引数について

  • 関数の引数
  • ローカル変数
であるオブジェクトは,そのオブジェクトへのポインタを別のスレッドに渡すなどの方法で他のスレッドに知らせない限り,実行スレッドからのみアクセスできます。
thread_localとは意味合いが異なってしまいますが,他のスレッドと切り離されているという点においては同じ扱いになります。

ただ,当然ですが「『関数の引数であるポインタオブジェクト』が指し示すオブジェクト」は,他のスレッドと共有している可能性があります。
# これもthread_localと同じ。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: ソースコードを分離したらエラーを吐き出した。
返信数: 3
閲覧数: 616

Re: ソースコードを分離したらエラーを吐き出した。

keito940 さんが書きました:move.cpp

コード:

extern int CameraX = 0;
extern int CameraY = 0;
ここが問題です。
externと初期化子 (や関数定義) が両方ある場合,宣言では無く定義になります。
分割する場合に,externを付ける場合は初期化子 (「=」以降) を付けてはいけません。

ref) ISO/IEC 14882:2011 / 3.1 Declarations and definitions / ¶2
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: javaでフィールド領域で処理を実装する方法ってありますか?
返信数: 8
閲覧数: 885

Re: javaでフィールド領域で処理を実装する方法ってありますか?

//メソッド領域 仕様書上存在しないと思われるフィールド領域という言葉を使っておられる上,メソッド領域なる言葉も仕様書上該当しそうな言葉を見付けられないのですが,どこに書いてあるのでしょうか。 Mathさんの個人の意見はいりません。docs.oracle.comで提供されているJava Specificationの,HTMLの該当箇所のFragment付きのURIを提供してください。 なお,フィールド領域という言葉に私がこだわる理由は,単純に,大元の質問に書かれているような,式文をブロックの外に書く方法が存在しないものの, フィールド領域という言葉が何を指すのかがわかれば,別の理由で書かれて...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: javaでフィールド領域で処理を実装する方法ってありますか?
返信数: 8
閲覧数: 885

Re: javaでフィールド領域で処理を実装する方法ってありますか?

フィールド領域とは何でしょうか。
Java言語仕様を参照してみましたが,それらしいものは無いようです。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: インターフェース、抽象クラスのC#との違い
返信数: 4
閲覧数: 672

Re: インターフェース、抽象クラスのC#との違い

デリゲートは根本的な言語仕様の問題ですし,今回の話題から外れるので元々除外しています。
JavaからC#への変換で問題になりそうな匿名クラスも,根本的な言語仕様の問題で今回の話題からも外れるので除外しています。

で,今回のnewは,
new 修飾子 (MSDN)
これのことです。
オフトピック
C# メソッド newでGoogle検索すればすぐに出てくるので,ちゃんと調べましょう。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: インターフェース、抽象クラスのC#との違い
返信数: 4
閲覧数: 672

Re: インターフェース、抽象クラスのC#との違い

インターフェース、継承、抽象クラスに関してルールとしてC#とjavaで違いはありますか? 記述方法の違いを除いた場合において, Javaのinterfaceはpublic static finalなフィールドを持てるがC#はフィールドを一切持てない Javaのinterfaceはメソッドのデフォルト実装を持てるがC#は持てない Javaの@Overrideは任意だがC#のoverrideは必須 C#のメソッドに付けるnewに相当するものはJavaには存在しない C#の明示的なインターフェースメソッドの実装に相当するものはJavaには存在しない あたりが大きな違いかな,と思います。 変換プログ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: OSに依存しないEthernet通信アプリケーション(C言語)
返信数: 6
閲覧数: 762

Re: OSに依存しないEthernet通信アプリケーション(C言語)

Boost.Asioのような,OS依存を内部に隠しているライブラリを使えば可能です。

そもそも,現時点において標準のC/C++にTCP/IPを直接扱うライブラリが存在しません。
このため,TCP/IPを扱う方法は処理系に依存してしまいます。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: "struct" と "class"とは何が違うのでしょうか
返信数: 3
閲覧数: 526

Re: "struct" と "class"とは何が違うのでしょうか

  • structはデフォルトの可視性がpublicなクラス
  • classはデフォルトの可視性がprivateなクラス
です。
それ以外の違いはありません。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++のRxにおけるダブルクリックの実装
返信数: 5
閲覧数: 1815

Re: C++のRxにおけるダブルクリックの実装

とりあえず、bufferメソッドを使用して2個ずつイベントを通知する実装としている為、 「2回クリックしたとき」しか表現できていない状態です。 ここに、制限時間を定義するにはどうしたらよいでしょうか。 前回の時間との差がある程度より小さければダブルクリックになるのですから,単純に前回との差を調べればよいことになります。 面白そうなので,コードを書いてみました。 // プログラムの先頭に, #define NOMINMAXを書いておくこと。<windows.h>のminマクロのために,minの呼び出しでエラーになる。 auto doubleClickStream = clickStream ....
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 【C#】Bitmapの描画について
返信数: 5
閲覧数: 970

Re: 【C#】Bitmapの描画について

Bitmap上に4角形のオブジェクトを配置するマップエディタを作成しているのですが、 配置したオブジェクトの大きさや座標をNumericUpDownで連続で変更すると例外が発生します。 再描画の度にBitmapを新規作成していることが原因のようなので、 Bitmapを新規作成しないor描画間隔を少なくする といった方法は思いつくのですが、 どうすれば実装できるかがわかりません。どなたかアドバイスをお願いいたします。 例外のメッセージには何と書いてあったのでしょうか。 ArgumentException自体は,例えばnew Bitmap(0, 100)のような値を指定した場合に発生します。 た...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: visualc#のプログラムについて。
返信数: 3
閲覧数: 425

Re: visualc#のプログラムについて。

visualc#のコンソールアプリケーションなのですが、コンソールアプリケーションを選んだあと一番上にusing System;だけ表示する方法ってあるでしょうか?通常試してみるとusing System;usingSystem.Collections. using System.Ling; usingSystem.Text; using System/Threading.Tasks;となってしまいます。 クラスのテンプレートがそのようになっているので,新しくテンプレートを用意しない限り無理です。 # LinqがあるのでSystem.CollectionsではなくSystem.Collect...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: mp4の再生
返信数: 7
閲覧数: 918

Re: mp4の再生

あまりMP4ファイル形式について詳しくないのですが…… MP3ファイルが特殊な形式なので,あまりMP3ファイルを前提に考えるのはやめた方がよいのですが……。 MP3ファイルは,Mpeg-1 audioのチャンクをそのまま保存した形式です。 後付けで,ID3tagやLame tagというものができていますが,基本的には「生データのみ」のものです。 それに対して,通常のマルチメディアフォーマットは,コンテナであり,「データに関する情報」と「データ」を分離して保存しています。 一般的にPCMのみに使われているWAVEファイルも,RIFFコンテナでfmt チャンクに情報を入れればMpeg-1 aud...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 1417

Re: javafxにて別のAnchorPaneの操作

最初の回答にも書いた通り,JavaFXについては詳しくありませんが,
ビブロ さんが書きました:ここまではこの書き方で合っているでしょうか?
コードの仕組みとしては合っていると思います。

JavaFXの世界における標準的な書き方かどうかはわかりません。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 1417

Re: javafxにて別のAnchorPaneの操作

mainCon#melodycreatewindowの中でcreatemelodyconクラスのインスタンスに対して,自身のインスタンスを渡しておいて createmelodyconクラスのインスタンスに対して,自身のインスタンスを渡すという処理についてなのですが、文章をそのまま起こすと mainConクラスの非staticメソッドの中なのですから,自身のインスタンスはthisです。 newしたものは自身とは異なるインスタンスです。 また,createmelodyconクラスのインスタンスも単純にnewすればよい,というものではないです。 例えば,FXMLLoader#getControll...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 1417

Re: javafxにて別のAnchorPaneの操作

JavaFXには詳しくないですが……。 Caused by: java.lang.NullPointerException at application.SampleController.test(MainScreen.java:18) ←textarea.appendText(melody);の所 at application.SampleController2.action(createmelodycon.java:14) ←con.test(textarea.getText());の所 ... 60 more なので,このあたりを探ると,そもそも, public void sendmel...

詳細検索ページへ移動する