検索結果 64 件
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: Android NDKによるC++11以降の機能の使い方について
- 返信数: 2
- 閲覧数: 3973
Re: Android NDKによるC++11以降の機能の使い方について
すいません、本件自己解決しました。 設定として、下記リンクによりC++バージョンをC++17に指定したところ、 CodeInspectorの表示に関わらずコンパイルが通ることが判明しました。 https://qiita.com/yumetodo/items/bd8f556ab56298f19ba8 おそらく、makeを行う際の設定はgradleには設定できるものの、 CodeInspectorにはその設定が反映されずエラーと表現されたと推定されます。 今回このスレッドはAndroidにてソフトウェアを動かすことが目的であり、 アプリ自体は動作することができたため、ここでトピックを閉じようと思い...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ループ内でのオブジェクトの動的確保について
- 返信数: 5
- 閲覧数: 4274
Re: ループ内でのオブジェクトの動的確保について
このコードは、気を付けてくださいと言ったぬるぽを出しています(( if文の比較の際car変数が実体を指さないために、このコードは実行時エラーとなります。 対策は、例えば消し忘れたコードをif文の手前に持ってくるとコードは動作します。 (if文での比較前にcar変数にインスタンスを生成することがポイントです。) 恐らく現物の実装は常時実体があるわけではないと思うので、 宣言の際にcar(nullptr)と、スマートポインタをnullptrで初期化したうえで、 nullptrをif文でチェックしてから紹介した比較を行う必要があります。 なおこのとき、nullptrからインスタンスを作成する条件文は...
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: ループ内でのオブジェクトの動的確保について
- 返信数: 5
- 閲覧数: 4274
Re: ループ内でのオブジェクトの動的確保について
検証してみましたが、typeidが一致するのはポインタの実体を入れたときだけのようです。
なのでポインタの実体を参照するようにするとうまく行くと思います。
(ただし、ぬるぽにはご注意ください。)
検証コード:
https://ideone.com/4f0Eht
なのでポインタの実体を参照するようにするとうまく行くと思います。
(ただし、ぬるぽにはご注意ください。)
検証コード:
https://ideone.com/4f0Eht
- 3年前
- フォーラム: C言語何でも質問掲示板
- トピック: Android NDKによるC++11以降の機能の使い方について
- 返信数: 2
- 閲覧数: 3973
Android NDKによるC++11以降の機能の使い方について
ご無沙汰しております。spaaaark・∀・です。 この度DxLibを用いたゲームについて、Androidアプリへの移植を検討しております。 下記の質問はAndroid Studioを使い始めたばかりの初心者としての質問であることをご了承ください。 WindowsにてVisual Studio 2019で開発したC++コード(C++11以降の機能を含む)を Android NDKを用いてAndroidプロジェクトへインポートし、Code Inspectorを使用したところ、 STLイテレータをautoで型推論するところで下記のエラーを示しており、 素人目にはC++11以降の機能がうまく働いてい...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ のクラス
- 返信数: 3
- 閲覧数: 6409
Re: C++ のクラス
これは僕個人の意見であるためもしかしたらもっといい方法があるかもしれないという事を留意ください。 この中からどれを使うかと聞かれるとどれでもないんですが、僕なら2に近い方法を取っていきます。 具体的に言いますと、2のように共通の変数部は別クラス化します。 ただしこの要素たちは全てpublicで、同クラス内に関数は持たせないようにします。 そしてこのクラスをcharacterクラスのメンバとして置いておきます。まとめるとこんな感じになります。 class CValues{ public: ... }; class CCharacter{ CValues mValue; /*以下メンバ...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画面回転後にView設定が適用できない。
- 返信数: 3
- 閲覧数: 2974
Re: 画面回転後にView設定が適用できない。
本当ですね…。少し見てみたら確かにシステム関数とかも統一されてました。意識して書きたいと思います。Dixq (管理人) さんが書きました:関係ないですけど、自作関数が大文字から始まってますが、javaは関数名を小文字から始める慣習がありますよ。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画面回転後にView設定が適用できない。
- 返信数: 3
- 閲覧数: 2974
Re: 画面回転後にView設定が適用できない。
自己解決しました…。 メインのソースコードを以下のように修正したところ、思うような動作が確認できました。 package spark.sin.virtualtripv2; /*中略*/ if(mIsFirstCreate) { if(savedInstanceState == null) startPreference(); } /* その他フラグメントのコミット */{ getFragmentIfNeeded(SetMiniPreferenceFragment.class, "miniPreference"); //transaction.add(getID(R.integer.posLis...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画面回転後にView設定が適用できない。
- 返信数: 3
- 閲覧数: 2974
画面回転後にView設定が適用できない。
Androidにおいて、現在アプリを製作中の物です。 Preferenceで設定したフラグを用いてradioButtonの有効/無効を決定するプログラムを書いていたのですが、 最初は期待通りの動作をするもの、一度画面を回転させてからこれらの機能が聞かなくなってしまいます。 具体的には以下の画像のような感じです。左が回転前、右が回転後となります。 [album]929[/album] [album]930[/album] また、記述したプログラムを以下に示します。このプログラムは別のActivityで実装した機能を再利用するため、 当該Activityを継承して利用するようなスタイルにな...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: Androidアプリでのルート探索はどのAPIを使うべき?
- 返信数: 2
- 閲覧数: 3691
Re: Androidアプリでのルート探索はどのAPIを使うべき?
さらに追加です。
あちらの掲示板にて使用しても大丈夫であろうという見解が出ましたので、アプリ上で展開できるDirections APIを使うこととします。
また、後者はAPI群の中の1機能であると判断したため、アプリには組み込めないという事もあり、使うのはまた機会があれば、
という事にします。お騒がせいたしました。
あちらの掲示板にて使用しても大丈夫であろうという見解が出ましたので、アプリ上で展開できるDirections APIを使うこととします。
また、後者はAPI群の中の1機能であると判断したため、アプリには組み込めないという事もあり、使うのはまた機会があれば、
という事にします。お騒がせいたしました。
オフトピック
向こうの掲示板でも返信欄ではありますが、URLを取り付け相互リンク化しました。
また、あちらのガイドラインを見ますとマルチポスト禁止の記載がありませんでしたので、恐らく向こうのルールとしては大丈夫であると思われます。
また、あちらのガイドラインを見ますとマルチポスト禁止の記載がありませんでしたので、恐らく向こうのルールとしては大丈夫であると思われます。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: Androidアプリでのルート探索はどのAPIを使うべき?
- 返信数: 2
- 閲覧数: 3691
Re: Androidアプリでのルート探索はどのAPIを使うべき?
追加情報です。
Directions APIの方で自分の目標としている機能が実装できました。
ただ後の事を考えた際にガイドラインに違反する可能性が出てきたため、こちらでこれに関する質問を行いました。
回答を参照し、問題がなければこちらのAPIを使用したいと思います。
Directions APIの方で自分の目標としている機能が実装できました。
ただ後の事を考えた際にガイドラインに違反する可能性が出てきたため、こちらでこれに関する質問を行いました。
回答を参照し、問題がなければこちらのAPIを使用したいと思います。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: Androidアプリでのルート探索はどのAPIを使うべき?
- 返信数: 2
- 閲覧数: 3691
Androidアプリでのルート探索はどのAPIを使うべき?
どうもこんにちは、spaaaark・∀・です。 現在今月終わりごろ発表のあるコンテストの作品制作をしておりまして、そこで疑問に思ったことがあるため質問します。 私はコンテストのためにAndroidアプリを製作しており、その中でgoogleマップを使用しています。 表示にはgoogleから提供されているGoogle Maps Android API v2 を使用しています。 このアプリの構想の中に、ユーザーが指定した複数の点(位置)から、そのルートを順番に表示していく、というものがあります。 これは例えばユーザーがA,B,C,Dの4点を指定した後で、A->B、B->C、C->Dのルートを順次表示...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: コンテナAから1要素だけコンテナBへ移動
- 返信数: 2
- 閲覧数: 2676
Re: コンテナAから1要素だけコンテナBへ移動
調べてみたところ、std::moveは移動元の要素を削除する機能がなかったようなので、
両者がvectorでよかったためみけCAT氏の回答のコードを活用し、目的の動作を達成しました。
わざわざありがとうございました。
両者がvectorでよかったためみけCAT氏の回答のコードを活用し、目的の動作を達成しました。
わざわざありがとうございました。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: コンテナAから1要素だけコンテナBへ移動
- 返信数: 2
- 閲覧数: 2676
コンテナAから1要素だけコンテナBへ移動
どうもこんにちは、spaaaark・∀・です。 タイトルの通り、C++においてあるコンテナの要素を1つだけ別のコンテナに移動させる方法を探しています。 std::moveを使い、自分でこのようなコードを記述したのですが、Aの要素が1つだけの時にイテレータでの 範囲外アクセスによるランタイムエラーが発生しました。 // (main関数部分等は省略します) int Current = 0; // 実際には任意の数 std::vector<unsigned int> A,B; B.reserve(B.size() + 1); // やりたいこと:A[0]の要素をBの終端へ移動する std::move...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 仮引数の省略でエラー
- 返信数: 8
- 閲覧数: 5962
Re: 仮引数の省略でエラー
usaoさんの補足という事で。 プロトタイプ宣言では確かに仮引数の名称を省略できますが、実はint aとint a[]では型が違います。 引数は1つにつき1つの情報しか渡せないので、配列のようにたくさんのデータがある場合は、 値全てを渡すわけではなく、別の物を渡してその関数内でも同じように扱えるような処理を行います。 少し考えてみてください。載せていただいたソースコードを実行すると、関数の実行前後で引数として 指定した配列要素の値が異なるはずです。でも、これは普通に考えればあれ?と思うはずなんです。 値全てを渡しているなら、仮引数から実引数の値を変更できないわけですから。 …勘がよければこれだ...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: Objectを大量に描画したいが…重い。なにかが悪い。
- 返信数: 59
- 閲覧数: 32321
Re: Objectを大量に描画したいが…重い。なにかが悪い。
皆さんが色々な意見を投稿しておられますが、僕は処理に関する気になる所を攻めてみます。 まず、すべての敵・障害物で同じクラスを使っている件について。 これはいろいろとまずいです。比較で処理が遅くなってしまったり、あるいはコードが読みにくくなってしまったり。 これはポリモーフィズムを用いて、同じような機能を持ちながら別の処理を行なえるような処理にするべきです。 これを用いれば少なくとも障害物と敵との差別化は図れるはずです。 あとは画像の違いなど、軽い変更なら汎用化して外部データ化するのもありです。例えばcsvのような。 これでファイル数の増加も抑えることができます。 なお、どっちの方が見やすく、修...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLib::GetDrawScreenGraph関数について
- 返信数: 5
- 閲覧数: 4425
Re: DxLib::GetDrawScreenGraph関数について
リンク先の掲示板で調査していただいたところ、別の処理系で非同期読み込みが切れておらず、
それによりデータが作成される前のハンドルが渡っていたことが原因だと判明しました。
よって間違っているのはこの部分ではなく、ファイルを読み込むクラスにあり、これを修正したところ、
正常に表示されることが確認できました。お騒がせしました。
それによりデータが作成される前のハンドルが渡っていたことが原因だと判明しました。
よって間違っているのはこの部分ではなく、ファイルを読み込むクラスにあり、これを修正したところ、
正常に表示されることが確認できました。お騒がせしました。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数呼び出し
- 返信数: 5
- 閲覧数: 2506
Re: 関数呼び出し
ソースコードがないので何とも言えないのですが、ひとまず同じクラス内ならメンバ変数を関数①内で変更している
可能性があります。その場合はその値を別のローカル変数に入れ、処理を行うことで現象が解決するはずです。
クラスの場合メンバ変数の値はクラス内のすべての関数で同じ値が使われます。(クラス内のグローバル変数みたいな感じ)
これを迂闊に変更すると動作のバグを引き起こす原因となりますので、一度確認してみてください。
可能性があります。その場合はその値を別のローカル変数に入れ、処理を行うことで現象が解決するはずです。
クラスの場合メンバ変数の値はクラス内のすべての関数で同じ値が使われます。(クラス内のグローバル変数みたいな感じ)
これを迂闊に変更すると動作のバグを引き起こす原因となりますので、一度確認してみてください。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 循環参照?の解決方法
- 返信数: 2
- 閲覧数: 2149
Re: 循環参照?の解決方法
うーん…構造的な問題が少し気になる所ですが、ひとまず解決する方法として有効なのは その処理で必要なデータをメンバ関数の引数にしてしまうこと、でしょうか。 こうすることによってそれぞれが独立した状態でインスタンスを作ることができます。 初期化処理に必要な場合も同様です。ただコンストラクタで初期化するんじゃなくて、 初期化用の関数を作り、それを呼び出した方がいいと思います。 あと、ヘッダーファイルをそのままインクルードするのではなく、実体アクセス以外なら先に クラス名のみを宣言して、cppでそのソースコードを読み込むことが可能です。 /* 1.h */ #pragma once class Fug...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLib::GetDrawScreenGraph関数について
- 返信数: 5
- 閲覧数: 4425
Re: DxLib::GetDrawScreenGraph関数について
いろいろ調べた結果、DxLib自体のバグの可能性が出てきた(関数にMakeScreenのサンプルを
入れたら同じ現象が起こった)ので、DXライブラリ質問掲示板とマルチポストという形を
取らせていただきます。よろしくお願いします。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=3370
入れたら同じ現象が起こった)ので、DXライブラリ質問掲示板とマルチポストという形を
取らせていただきます。よろしくお願いします。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=3370
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLib::GetDrawScreenGraph関数について
- 返信数: 5
- 閲覧数: 4425
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLib::GetDrawScreenGraph関数について
- 返信数: 5
- 閲覧数: 4425
Re: DxLib::GetDrawScreenGraph関数について
進捗状況です。 動作が重いので初期化タイミングを変更し、DrawRectGraph関数を使うこととしました。 以下にそのコードを示します。 const int DefGraphID = pGraphData.GetDataHandle(l_pNowDivGraphData->GraphicHandle); const int CutPos[] = { l_pNowDivGraphData->BeginPos.first, l_pNowDivGraphData->BeginPos.second, l_pNowDivGraphData->DivSize.first , l_pNowDivGraph...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLib::GetDrawScreenGraph関数について
- 返信数: 5
- 閲覧数: 4425
DxLib::GetDrawScreenGraph関数について
結構久しぶりの投稿です。 画像ファイルにテクスチャを群として保存しておき、その1部分をモデルのテクスチャとして使いたいのですが、 DxLib::GetDrawScreenGraph関数の要件である画像サイズをそろえているにもかかわらず、この関数でエラーが出てしまいます。 以下に実行しているコードを記述します。 const int DefGraphID = pGraphData.GetDataHandle(l_pNowDivGraphData->GraphicHandle); const int CutPos[] = { l_pNowDivGraphData->BeginPos.first, l...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLibの3D、ライトについて
- 返信数: 3
- 閲覧数: 3722
Re: DxLibの3D、ライトについて
返信ありがとうございます。
なるほど、ライト以外にも光源を表現する方法があるという事ですね、分かりました。
metasequoiaでモデルを作っているのですが、無償版なので頂点カラー等の編集ができない状態です。
しかし、同ライブラリ上のSetMaterialParam関数を使って、その部分をあとから追加で描画すれば、
うまくいくだろうと考察できます。光の色の調整もできますしね。
方針が決まりましたので、当トピックはこれで解決という事にします。作っていく上で疑問が生じた場合、
それはまた別トピックで質問しようと思います。その時はまたよろしくお願いします。
なるほど、ライト以外にも光源を表現する方法があるという事ですね、分かりました。
metasequoiaでモデルを作っているのですが、無償版なので頂点カラー等の編集ができない状態です。
しかし、同ライブラリ上のSetMaterialParam関数を使って、その部分をあとから追加で描画すれば、
うまくいくだろうと考察できます。光の色の調整もできますしね。
方針が決まりましたので、当トピックはこれで解決という事にします。作っていく上で疑問が生じた場合、
それはまた別トピックで質問しようと思います。その時はまたよろしくお願いします。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLibの3D、ライトについて
- 返信数: 3
- 閲覧数: 3722
DxLibの3D、ライトについて
DxLibで3Dを触るのは初めてなspaaaark・∀・です。 製作するにあたってリファレンスを読んでいたところ、気になるものを発見しました。 尚、ライトハンドル系の関数は一つしかない標準ライト以外にライトを使用したい場合に使用します。 ( とはいえ同時に有効にできるのは標準ライトを含めて3つまでですが・・・ ) 気になるのは()で囲まれた部分で、これってライトを同時に3つまでしか使えないのか気になりました。 作りたいのは これ のようなメカスロゲームなんですが、画像を見て分かるように見える場所、 他リール内部などに多数のライト(=光源)が配置されてます。これを実際にゲーム上で表現したいのです...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: FPSまたは小数点以下の計算について
- 返信数: 10
- 閲覧数: 6208
Re: FPSまたは小数点以下の計算について
なるほど、確かにデバッグにおいて正確にタイミングを見計らうと4枚目のフレームにおいて音がなってしまいますね。 恐らく質問者さんはそこが気に入らないのではないかと推測します。 解決方法ですけど、質問者さんもお分かり頂けている通り、calc関数は1フレーム(≒1/60秒)毎に呼び出されています。 逆に言えば、calc関数は1フレーム(≒1/60秒)にしか呼び出されておらず、3.166...フレームに一回音を鳴らすのであれば、 それを処理できるような回数calc関数を呼ぶ必要があるはずです。 他の方法としては、calc()が呼ばれる回数を増やすことでしょう。 とおっしゃられておられましたが、この方法...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: makescreenの透過
- 返信数: 6
- 閲覧数: 4392
Re: makescreenの透過
オフトピック
僕の意味の取り違いが怖いのですが、とりあえず参考までにこちらのリンクを貼っておきます…。ISLe さんが書きました:MakeScreenで作成したアルファチャンネル付きグラフィックに対して、アルファチャンネルのみを対象とした操作はできないようですが、透明にしたい部分に対してSetDrawBlendMode関数のDX_BLENDMODE_SUBを指定しておいて描画することでアルファ値を削ることができます。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: オブジェクト指向での静的な変数
- 返信数: 6
- 閲覧数: 3959
Re: オブジェクト指向での静的な変数
静的変数を宣言する場所にも良し悪しがあるのですね。
なるほど、参考になりました。ありがとうございました。
なるほど、参考になりました。ありがとうございました。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: オブジェクト指向での静的な変数
- 返信数: 6
- 閲覧数: 3959
Re: オブジェクト指向での静的な変数
皆さん返信ありがとうございます。
まとめて返信するような形で申し訳ないのですが、クラスのインスタンスを越えて同じ値を使いたいときは
static変数を、クラスのインスタンスを再生成した際に初期化したい場合はメンバ変数を使う。
というような認識で大丈夫でしょうか?
恥ずかしながらこのような静的変数がインスタンスをも越えることは理解していませんでした。
まとめて返信するような形で申し訳ないのですが、クラスのインスタンスを越えて同じ値を使いたいときは
static変数を、クラスのインスタンスを再生成した際に初期化したい場合はメンバ変数を使う。
というような認識で大丈夫でしょうか?
恥ずかしながらこのような静的変数がインスタンスをも越えることは理解していませんでした。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: オブジェクト指向での静的な変数
- 返信数: 6
- 閲覧数: 3959
オブジェクト指向での静的な変数
オブジェクト指向において、あるクラスのメンバ関数の中に静的なローカル変数を定義することは、
構造上有効なのでしょうか?
その変数には、スコープを抜ける際に消されたくないデータが入っていて、
1ループごとに1回そのメンバ関数が呼び出されることとします。
構造上有効なのでしょうか?
その変数には、スコープを抜ける際に消されたくないデータが入っていて、
1ループごとに1回そのメンバ関数が呼び出されることとします。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: ChangeWindowModeについて
- 返信数: 7
- 閲覧数: 3793
Re: ChangeWindowModeについて
使用したソースを教えていただけないでしょうか?原因がわかるかもしれません。
念のため、ChangeWindowMode関数は引数TRUEでウィンドウモード、FALSEで全画面となります。
念のため、ChangeWindowMode関数は引数TRUEでウィンドウモード、FALSEで全画面となります。
- 10年前
- フォーラム: 作品お披露目掲示板
- トピック: 玉が転がるアプリ「Win32Balls」
- 返信数: 20
- 閲覧数: 22024
Re: 玉が転がるアプリ「Win32Balls」
( ˘⊖˘) 。o( 球って垂直に積んで詰めちゃえるもんなのだな… )
(一定数越えると崩れるようです)
(一定数越えると崩れるようです)
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2次元配列でFという文字を表示させたいのですが
- 返信数: 4
- 閲覧数: 2999
Re: 2次元配列でFという文字を表示させたいのですが
コードタグには[]を忘れないようにお願いします。 さて、この問題ですが、ary_bは使用することなく実装することができます。 ヒントは2重for文を使って、各要素を1文字ずつ書き出すという事です。 二次元配列なので、1つ目のfor文で1番目の、2つ目のfor文で2番目の配列の要素を指定して書き出せばうまくいくはずです。 気を付けないといけないのは改行のタイミングです。ヒントは1列書き終わった後に改行する、という事です。 僕はあえて答えを述べないこととします。もし解決したらそのソースコードを解決時に記述していただけると幸いです。 分からないことがあれば続けてここで質問していただいてもいいですよ。...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: プログラム改良
- 返信数: 5
- 閲覧数: 3073
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 本当にtry-catchで処理すべき問題??
- 返信数: 7
- 閲覧数: 4637
Re: 本当にtry-catchで処理すべき問題??
beatleさん、YuOさん、tk-xleaderさん、議論の方をありがとうございます。 ひとまず、手に持っているソースコードは例外を排出しないように変更しました。もちろんコードの可読性は40%くらい下がりました。 分析クラス内で一回一回EOFかどうか判断すると、まったく同じコードを何回も書かないといけない事態に陥ってしまいますよね。 その部分が気に入らない点があるのですが…、そこは関数化することで目をつむろうかなとも思っています。 とりあえず、今まであったEOF検出用の例外判定クラスを不正なEOFを検出する例外クラスに切り替えて作業を進めています。 なんだか返信を見ていますと、こういう問題は...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 本当にtry-catchで処理すべき問題??
- 返信数: 7
- 閲覧数: 4637
本当にtry-catchで処理すべき問題??
//データを受理する呼び出し元のコード Read hoge; hoge.Process(/*データ*/); //Read::Process関数の中身 void Read::Process(/*データ*/){ try{ /*処理*/ // ここでたくさんの読み込み関数を実行しており、読み込み関数内でEOFに到達すると例外クラスErrEOFをthrowする } catch(ErrEOF &) { /*読み込み完了のLog書き出し*/ } } というCSVファイル読み込みの方法を扱っているのですが、エラー処理となる例外機構でEOF検出ってしてもよいものなのでしょうか? 確かにこのコードはいちいちE...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: vectorの固定長配列型でのエラー
- 返信数: 2
- 閲覧数: 3148
Re: vectorの固定長配列型でのエラー
std::arrayって初めて聞きました…が、普通の配列と同じように扱えるようにはなってるのですね。
おかげでコンパイルが通るようになりました。ありがとうございました。
おかげでコンパイルが通るようになりました。ありがとうございました。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: vectorの固定長配列型でのエラー
- 返信数: 2
- 閲覧数: 3148
vectorの固定長配列型でのエラー
const int Val = 43; // 実際には適当な値 vector<int[Val]> hoge; int huga[Val]; /*fugaの初期化処理*/ hoge.push_back(fuga); としたときに、下記のようなリファレンスでのコンパイルエラーが発生してしまいます。 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmemory(208): error C2075: 'Target of operator new()' : 配列の初期化には中かっこ ({}) が必要です。 1> c:\p...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ファイル入出力について
- 返信数: 5
- 閲覧数: 2626
Re: C++ファイル入出力について
#include <iostream> using namespace std; などが記述されてないのはわざとでしょうか…? それと細かいことかつ関係のない場所なんですが、fstreamヘッダーの関数を使いたい場合、 #include <fstream.h> // 旧 #include <fstream> // 新 のように、.hをつけない形で記述するようにしてください。#include <iostream.h>と記述しないのと同じです。 これらの書き方(コードの新の書き方)で、標準C++ライブラリにアクセスすることができます。 fstream.hは古いライブラリを参照してしまう場合があり...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体のlistでの条件比較
- 返信数: 13
- 閲覧数: 5495
Re: 構造体のlistでの条件比較
あ…、型指定子だったんですね、失礼しました。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体のlistでの条件比較
- 返信数: 13
- 閲覧数: 5495
Re: 構造体のlistでの条件比較
リンクありがとうございます!
戻り値から推測するのじゃなくて、省略されたdecltype関数の引数に戻り値と同じものがパラメータとして渡されてたんですね!
1つ目のコードと解説で理解できました!ありがとうございました><
戻り値から推測するのじゃなくて、省略されたdecltype関数の引数に戻り値と同じものがパラメータとして渡されてたんですね!
1つ目のコードと解説で理解できました!ありがとうございました><
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体のlistでの条件比較
- 返信数: 13
- 閲覧数: 5495
Re: 構造体のlistでの条件比較
うお、なんでかよく分からないけど連番で引数が渡されてる。すごい。 http://ideone.com/Yykdmo
autoは戻り値から推測してコンパイル時に型を決める…という考えでいいのでしょうか?
autoは戻り値から推測してコンパイル時に型を決める…という考えでいいのでしょうか?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体のlistでの条件比較
- 返信数: 13
- 閲覧数: 5495
Re: 構造体のlistでの条件比較
推論しているということは…実際に使うときに型を決める…という事ですか?
後半のは0,1,2,3...とあったときに、片方に0,1,2...と入ると、もう片方にほんとに
1,2,3...と比較する次の要素が参照渡しされるのか、という疑問です。
それとも何か勘違いしているのでしょうか…?
後半のは0,1,2,3...とあったときに、片方に0,1,2...と入ると、もう片方にほんとに
1,2,3...と比較する次の要素が参照渡しされるのか、という疑問です。
それとも何か勘違いしているのでしょうか…?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体のlistでの条件比較
- 返信数: 13
- 閲覧数: 5495
Re: 構造体のlistでの条件比較
なんとなくやりたいことはわかりました。まずソートする前提条件を忘れてました。
それで、関数を条件として引数を渡すということですね。
autoキーワードは作ったときに自動的にboolに置き換えられられる・・・ということでいいですね。
このstring型のメンバ変数でソートする方法は自分で調べてみようと思います。
ただ気がかりなのは、このラムダ関数の引数でホントに隣同士の値を比較できるのでしょうか?
それで、関数を条件として引数を渡すということですね。
autoキーワードは作ったときに自動的にboolに置き換えられられる・・・ということでいいですね。
このstring型のメンバ変数でソートする方法は自分で調べてみようと思います。
ただ気がかりなのは、このラムダ関数の引数でホントに隣同士の値を比較できるのでしょうか?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体のlistでの条件比較
- 返信数: 13
- 閲覧数: 5495
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体のlistでの条件比較
- 返信数: 13
- 閲覧数: 5495
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: DxLib 実行すると応答しなくなる
- 返信数: 3
- 閲覧数: 3682
Re: DxLib 実行すると応答しなくなる
DXLibで画面が固まるという事は、どこかで無限ループしているか、何らかの原因でProcessMesseage関数が実行されなくなるという事が考えられます。
10秒経過してから処理を変更するようなことをしていれば、その処理部に原因があると思われます。本文に書いてないので何とも言えないのですが…。
今一度、経過するすべてのループで無限ループしてないか、また1ループに1度以上ProcessMesseage関数を呼び出しているか確認してみてください。
なお、PDBファイルや、アンロードについては別に気にしなくても大丈夫だと思われます。
10秒経過してから処理を変更するようなことをしていれば、その処理部に原因があると思われます。本文に書いてないので何とも言えないのですが…。
今一度、経過するすべてのループで無限ループしてないか、また1ループに1度以上ProcessMesseage関数を呼び出しているか確認してみてください。
なお、PDBファイルや、アンロードについては別に気にしなくても大丈夫だと思われます。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語の「参照」に関する理解
- 返信数: 6
- 閲覧数: 3037
Re: C言語の「参照」に関する理解
僕も一度参照の意義が分からなかったことがあったのですが、その時に、 「参照を作ると要素が空であることがなくなるため、指し示しているオブジェクトが存在するかどうかの確認をしなくてよく、 また初期化されていないポインタの値を使用することがなくなるので、参照渡しはポインタ渡しより安全な方法である。」 という話を聞いて納得した覚えがあります。 逆に言えば参照渡しではNULLを表現できないため、NULLをとることのあるオブジェクトの引数はポインタ渡しでないと いけないことは確かなことですが、それがない限りは参照渡しを行ったほうがバグが減ると私は思います。 アロー演算子->を使わなくて済むという教科書の表...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: ostringstream -> char*への変換
- 返信数: 1
- 閲覧数: 2769
Re: ostringstream -> char*への変換
すいません、自己解決しました。
ostringstreamのメンバ変数にstrメンバというのがありまして、string型に変換できたようです。
そこから、string型のc_strメンバ変数を使ってchar*を抽出できました。お騒がせしました。
ostringstreamのメンバ変数にstrメンバというのがありまして、string型に変換できたようです。
そこから、string型のc_strメンバ変数を使ってchar*を抽出できました。お騒がせしました。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: ostringstream -> char*への変換
- 返信数: 1
- 閲覧数: 2769
ostringstream -> char*への変換
cppファイル: #include "/*ヘッダーファイル*/" #include "DxLib.h" #include <sstream> bool CGameTaskGraphInport::SetData(int p_FileNum){ std::ostringstream Name; Name<<p_FileNum<<".png"; //sprintf(FileName,"%d.png",p_FileNum)と同意味 int InportHr = LoadGraph(/*Nameと同じ文字列*/); if(InportHr == -1) return false; m_GraphNum...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリ
- 返信数: 3
- 閲覧数: 2114
Re: DXライブラリ
VC++2010とVS2012では構成方法が違うので、DxLib様の こちらのページ を紹介します。 書いてある内容は対応方法が違うだけで、中身は全く同じであるので、こちらのページを参考にセットアップを行ってみてください。 セットアップ自体はページの指示に従うだけで完了します。 なお、 紹介してくださったサイト はVisual C++ 2010用のセットアップが完了したプロジェクトを配布しています。 そのセットアップ方法も、恐らくDxLib様の セットアップページ (VC++2010用の物ですが)を参考に作られたものだと思われます。 それでもうまくいかないようでしたら、実際のエラーコードを記述...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 龍神録の二面
- 返信数: 7
- 閲覧数: 4320
Re: 龍神録の二面
自身のほうでデバッグは試されましたでしょうか。 実際に実行時の変数の状態を見てあげると、思わぬバグを引き起こしている部分が見つかりやすいです。 今回はその怪しい部分がある程度絞られているようなので、その部分に的を絞ってやってみるといいと思います。 そうすることによって、私たちが推測するよりはるかに正しい答えが得られると思います。 (すでにされておられるようでしたら申し訳ないです。) ここからは余談ですけど、例えば、 if(SetDrawScreen( DX_SCREEN_BACK )!=0) return -1; //// 1. while(ProcessLoop()==0){ /*処理*/ ...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数の引数に型名を指定
- 返信数: 2
- 閲覧数: 3873
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 関数の引数に型名を指定
- 返信数: 2
- 閲覧数: 3873
関数の引数に型名を指定
こんにちは、知っている方は知っていると思います、spaaaark・∀・と申します。 今回、関数の引数に、intやdoubleなどの型名を使用する方法がわからず、こちらのほうに質問させていただきました。 言語はC++です。 内容ですが、引数に指定した型と同じ型の数値を返す関数を作りたいのです。 そこで、sizeof演算子のような引数に型名を指定する関数を作りたいと思ったのですが、これはどのようにやるのでしょうか。 恐らく、テンプレートの応用だと思うのですが、その方法がわかりません。 次に示す例ですが、Func関数の中で、あるテキストファイルから数値を読み取っていると想定してください。 int A...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: VC++の環境設定
- 返信数: 11
- 閲覧数: 6315
Re: VC++の環境設定
すいません、データベースの再構築を実行すると修復しました。
自己解決です。
自己解決です。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: VC++の環境設定
- 返信数: 11
- 閲覧数: 6315
Re: VC++の環境設定
返信ありがとうございます。ISLe さんが書きました:フォールバック位置の設定は、オプションの『テキストエディター』→『C/C++』→『詳細』の中にあります。
実際にフォールバック位置をRAMディスク直下のパス(R:\)に指定したのですが、その後からテキスト画面上側のスコープ表示が常に(不明なスコープ)となり、インテリセンスが全く動作しなくなりました。もしかして、管理データがすべて飛んでしまったか、すごく気になるのですが、どのようにすればインテリセンスが表示するように復旧できるのか、どなたかご教授願います。
申し訳ありませんがよろしくお願いします。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 武器のカスタマイズの選択画面について
- 返信数: 5
- 閲覧数: 3445
Re: 武器のカスタマイズの選択画面について
例えば、武器Aなら0,武器Bなら1,武器Cなら2,... というように、武器の種類にあらかじめ0から番号を振ったものをハンドルとして、そのハンドルを使って条件の分岐を行います。なおハンドルにはもちろんint型(またはshort型)を推奨します。 そのハンドルを使って、たとえば以下のように処理を分けてやればいいのです。 void WeaponA(){ //// ハンドル0番 //// 武器Aのインスタンスを生成 } void WeaponB(){ //// ハンドル1番 //// 武器Bのインスタンスを生成 } void WeaponC(){ //// ハンドル2番 //// 武器Cのインスタン...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 武器のカスタマイズの選択画面について
- 返信数: 5
- 閲覧数: 3445
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: VC++の環境設定
- 返信数: 11
- 閲覧数: 6315
Re: VC++の環境設定
古いところからのトピックに返信して大変申し訳ないのですが、 私は行番号で場所を把握しているタイプなので行番号を使用しています。 またプログラムが膨らみコード量が多くなるとインテリセンスの負荷が高くなり重くなるので、 インテリセンスに使われるデータベースの保存先(フォールバック位置)をRAMディスクにしています。 (私のPC環境になりますが、現在製作しているゲームで、 経験上5000行くらい×100以上のソースファイルで、 コーディングどころでは無いくらい重くなったのでこれを使用しています) 私事の視点になりますが参考にしてください。 このインテリセンスのフォールバック位置の指定方法を教えて...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: コントロールボックスについて
- 返信数: 21
- 閲覧数: 5551
Re: コントロールボックスについて
横入り失礼しますorz
DxLibにはリファレンスに載っている関数以外にも大量の関数が用意されています。
DxLibの場合、これらの関数はDxLib.hファイルからこれらの関数、#defineマクロを直接確認することが可能です。
各関数にはコメントが割り振られていますので、検索機能で目的を検索し、関数を探すことも可能だったりします。
さて、そのDxLib.hですが、VC++の場合であればライブラリの関数上でF12を押していただければ、すぐ出てきますよ。
今まで知らなかった機能もあると思うので、ぜひ一度ご覧になってみてはどうでしょうか。
DxLibにはリファレンスに載っている関数以外にも大量の関数が用意されています。
DxLibの場合、これらの関数はDxLib.hファイルからこれらの関数、#defineマクロを直接確認することが可能です。
各関数にはコメントが割り振られていますので、検索機能で目的を検索し、関数を探すことも可能だったりします。
さて、そのDxLib.hですが、VC++の場合であればライブラリの関数上でF12を押していただければ、すぐ出てきますよ。
今まで知らなかった機能もあると思うので、ぜひ一度ご覧になってみてはどうでしょうか。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: アクションゲーム
- 返信数: 9
- 閲覧数: 3754
Re: アクションゲーム
実はそんなに長い画像を使用していないことが現実です。 ヒントは、一定座標より大きくなったときに背景の描画場所を元に戻す、使いまわし、ということです。 5000*480の大きさの画像は、保存できないことはないですけど、実行時のメモリにも負荷がかかってしまいます。 それなら、短めの画像(といっても横が2000程度になる事は回避できませんが…)を繰り返し使いステージを延々と長く見せるほうがいいです。 背景にする画像の、一番最初と最後を同じにすれば、きれいにループすると思います。 あと、その画像を製作するならWindows付属のペイントではなくて、フリーソフトでもいいのでペイントツールをダウンロードす...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: n個の素数を求めるプログラムについて
- 返信数: 6
- 閲覧数: 4474
Re: n個の素数を求めるプログラムについて
ソースを実行してみましたが、いくつかのコンパイルエラーを吐きました。 コンパイルエラーの際はエラーログを付属していただき、その旨を伝えていただけるとうれしいです。 さて、このプログラムにはいくつか問題点があります。 1.malloc関数等を使用しているのに、stdlib.hをincludeしていない。 malloc関数は標準ライブラリのstdlib.hに定義されています。これを読み込まないとこれらの関数は使用することができません。 2.sqrtn変数を多重に宣言している。 同じ型ではありますが、宣言でsqrtn変数が2回宣言されていました。 もしこの2つの使用用途が異なるなら、1つを別の変数名...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 自分で関数を作る
- 返信数: 3
- 閲覧数: 1722
Re: 自分で関数を作る
temp変数は、その関数内で作られたもの、test変数は、関数calcに引数として渡した値となります。 このとき、test変数のような引数として受け取った値を代入する変数を仮引数と言います。 number=calc(10); こう記述した際は、引数として渡される値は10で、その数値はcalc関数の中のtest変数に代入されます。 この場合、temp=test*5の、testには10が代入されているので、tempの値は10*5=50、となります。 そして、最後に戻り値としてtemp変数の中身を返しています。ここでは、その値をmain関数のnumber変数で受け取っています。 また、例えば、 in...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイトル画面
- 返信数: 11
- 閲覧数: 4575
Re: タイトル画面
そうだったのですか。その点は配慮していませんでした。申し訳ないです。softya(ソフト屋) さんが書きました:あっとDXライブラリを利用した場合、
static int handle = LoadGraph("ファイル名");
はDxlib_Initに対しての順番が制御出来ないのでマズイことになると思います。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイトル画面
- 返信数: 11
- 閲覧数: 4575
Re: タイトル画面
ソースを実行してみましたが、ループで画面が固まってしまい出力されませんでした。 と同時に、画面右上の×ボタンを押しても終了出来なくなってしまっていたかと思われます。 それではなぜ関数化する前がちゃんと動いていたのか、少し不思議ですが、そこはおいておくことにします。 恐らく、関数化すると同時にゲームループも作ったのだと思うのですが…。 さて、DxLibではゲームループを作る際に、ProcessMessage関数を1ループごとに呼び出してあげる必要があります。 その関数については、DxLib様のホームページにある関数リファレンスのトップページの下側に記述されています。 その関数は、ソフトの状態をチ...