検索結果 939 件

by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: あらゆる型のリストを受け取る関数を作りたい
返信数: 2
閲覧数: 684

Re: あらゆる型のリストを受け取る関数を作りたい

文をそのまま読むと, void func<T> (IList<T> args) { /* ... */ } とかやりたいのかなぁ,と思ったり。 あ,でもこれだとIReadOnlyList<T>をとれないか……。 void func<T> (IEnumerable<T> args) { /* ... */ } と,IE<T>にすればIList<T>とIReadOnlyList<T>を両方取れますし, void func (IEnumerable args) { /* ... */ } とIEにすればIListまで使えますが……。 -- 20170425T0955+0900 modified: c...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: VBからC#への移行について
返信数: 4
閲覧数: 1177

Re: VBからC#への移行について

"Dim ShapeIds As Object"でググる と,このトピックの他に, Mapコントロールの追加example [Chapter 2] | OpenなGISのこと というサイトのみがヒットしました。 もし,このサイトを参考にしているのであれば,利用しているライブラリの公式サイト The MapWindow Project から Documentation - API Documentation - Shapefile - SelectShapes と辿れば,Examplesという項目があります。 そして,例えば SelectBox.cs を選択すると, if (sf.Select...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: VBからC#への移行について
返信数: 4
閲覧数: 1177

Re: VBからC#への移行について

変換の前に,Visual Basic側で
・UBound等のMicrosoft.VisualBasicの関数を使わないように変更する
・Option Strict Onにする
などをして,C#に変換しやすいようにした方がよいかと思います。

ShapeIdsが本来Objectの配列であるならば,ShapeIdsの型をObject()に変更して,VBでもLengthを使うようにした方がよいでしょう。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: calloc + strcpyについて
返信数: 10
閲覧数: 2320

Re: calloc + strcpyについて

わん さんが書きました:このような結果となってしまった理由について、お願いしたいと思います。
たまたま。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: オープンソースとゲームの相性
返信数: 8
閲覧数: 1487

Re: オープンソースとゲームの相性

ゲームのうちの,正しく「映画の著作物」的な面白さの部分はオープンにする事と相反してしまう面白さだと思います。 いわゆる,ネタバレによって面白さが減じる部分です。 それに対して,ゲーム自体としての面白さに関しては,公開する事によって面白さが減少することはないでしょう。 例として挙げるなら,ソースコードが公開されているわけではないですが,スーパーマリオブラザーズは各種ブロックの配置から敵の配置までわかっています。 しかし,それによって面白さが減るものではありません。 どちらを重視するかは作り手次第だと思います。 ただ,OSIの言う「オープンソースライセンス」やFSFの「フリーソフトウェア」では,ユ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: calloc + strcpyについて
返信数: 10
閲覧数: 2320

Re: calloc + strcpyについて

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

Re: 乱数の解読

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

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

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

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
閲覧数: 4054

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

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

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

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

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

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

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

Re: LNK2005エラーが出た。

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

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

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

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

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

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
閲覧数: 1933

Re: C++でUTF-8

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

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

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

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

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

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

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

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

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

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

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
閲覧数: 935

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

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

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

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

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

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

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

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
閲覧数: 820

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

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

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

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

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

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

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

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

Bitmap上に4角形のオブジェクトを配置するマップエディタを作成しているのですが、 配置したオブジェクトの大きさや座標をNumericUpDownで連続で変更すると例外が発生します。 再描画の度にBitmapを新規作成していることが原因のようなので、 Bitmapを新規作成しないor描画間隔を少なくする といった方法は思いつくのですが、 どうすれば実装できるかがわかりません。どなたかアドバイスをお願いいたします。 例外のメッセージには何と書いてあったのでしょうか。 ArgumentException自体は,例えばnew Bitmap(0, 100)のような値を指定した場合に発生します。 た...

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