検索結果 235 件

by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]ライブラリファイル内の未解決外部シンボルについて
返信数: 2
閲覧数: 592

Re: [c++]ライブラリファイル内の未解決外部シンボルについて

かずまさん 返信ありがとうございます。 未解決はやっぱり未定義なんですね^^; 自分でいろいろ検証したところ、自己解決してしまいました。(申し訳ないです。 問題はコードではなくリンカのほうにあったようです。 私はvisualstudio2015で開発をしています。 ライブラリファイルを2つ(A,Bとします)利用するためにライブラリがあるディレクトリのパスをプロパティで設定しました。 どうやらこのディレクトリの中にゴミが混ざっていたようで、 Adir->A Bdir->B,A(!?) のようにBのディレクトリにAのライブラリが混ざっていたのです。 で、Bディレクトリの中にあるAが読み込まれて変な...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]ライブラリファイル内の未解決外部シンボルについて
返信数: 2
閲覧数: 592

[c++]ライブラリファイル内の未解決外部シンボルについて

こんばんは、今回は大嫌いな未解決外部シンボルについて質問があります。 staticなメンバ変数を持つクラス 1を継承したクラス 上の二つのようなクラスをライブラリ化しました。 これらは二つともビルドできたのですが、 これら二つを利用してプログラムを書くと"メンバ変数は未解決です"というエラーが出ます。 片方だけを利用するとビルドできるので、おそらくstaticメンバ変数が二重定義されている(同じソースファイルが二度読まれている)んじゃないかなとアタリをつけています。 、、、つけてるだけで確信はないのですが^^; というわけで、今回の質問です。 ソースファイル(というよりオブジェクトファイル?)...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]vector<unique_ptr<T>>の初期化
返信数: 5
閲覧数: 1761

Re: [C++]vector<unique_ptr<T>>の初期化

zeekさん ありがとうございます。おかげでうまくいきました。 生の配列なんて久しく使っていなかったのですが、配列のことちょっとなめてましたね、、、 inemaruさん 初期化リストを使えと聞いて真っ先に思い浮かんだのがinitializer_listでした。 それからinitializer_listで実装してみたところ「A型とB型の初期化子ってなんやねん」と怒られ、「Base型のリストだよ」と明示していました。 とても醜かったのでまたこちらで質問するかどうかで悩んでいたところにinemaruさんの追記でした^^ 可変引数に右辺値参照にforwardに、、、 実際に使うのはどれも初めてでした^...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]vector<unique_ptr<T>>の初期化
返信数: 5
閲覧数: 1761

Re: [C++]vector<unique_ptr<T>>の初期化

inemaruさん
素晴らしいアイデアをありがとうございます。
目から鱗でした。
早速使わせていただきたいと思います。

emplace_backについてなのですが、
私の認識ではコピーしないpush_backのイメージでした。
unique_ptrはコピーができない(moveされる)のでpush_backでもいいのかな、と思っていたのですが
やはりemplace_backのほうが効率がいいのでしょうか?
(名前が複雑という理由だけで使わず嫌いを起こしています^^;)
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]vector<unique_ptr<T>>の初期化
返信数: 5
閲覧数: 1761

[C++]vector<unique_ptr<T>>の初期化

こんにちは スマポを知ってから生ポwwwぬるぽwwwな者です。 今回はboostではなくc++標準のunique_ptrについて質問があります。 class Base;//定義は省略 class A : public Base;//同上 class B : public Base; //同上 int main() { vector<unique_ptr<Base> > p_vec { make_unique<A>(), make_unique<B>() } ;//error p_vec.push_back(make_unique<A>() );//こっちはセーフ } 上のようなコードで、vec...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ネット接続
返信数: 3
閲覧数: 776

Re: ネット接続

「visual c++ でネットに接続」でぐぐったら参考になりそうなサイトが何件か出てきました。
まずはそちらのサイトで勉強してみた方が多分いいですよ^^
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルが作れない
返信数: 8
閲覧数: 1495

Re: ファイルが作れない

コンソール<->windowsアプリは

プロジェクト->プロパティ

左上の構成をすべての構成にして

リンカー->システム->サブシステムをいじれば変えられた、、、はずです(たしか

サブシステムがwindowsになっていたらコンソールにしてみてください
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 基底クラスの必要性について
返信数: 6
閲覧数: 958

Re: 基底クラスの必要性について

基底クラスってなんやねん。 そう思っていた時期が僕にもありました。 基底クラスってとても便利なんです。 inemaruさんもおっしゃる通り配列にまとめることができるんです。 このようなクラスがあったときに class Base { public: virtual void func(){ cout << "base" << endl; } }; class A:public Base { public: void func(){ cout << "A" << endl; } }; class B:public Base { public: void func(){ cout << "B" <<...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015]vectorのウォッチ
返信数: 21
閲覧数: 2420

Re: [VS2015]vectorのウォッチ

返信が遅れてしまい申し訳ありません。

たくさんの回答ありがとうございました。
せっかくたくさんの意見を出してもらっておいて申し訳ないのですが、修復をかけたら直りました-_-;
もし今度また同じような現象が起こったら、今回出た回答を参考にしたいと思います^^
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015]vectorのウォッチ
返信数: 21
閲覧数: 2420

Re: [VS2015]vectorのウォッチ

沖さん
レジストリをいじるのはちょっと怖いですね、、、

みえさん
3番目以外の方法を試してみたのですがだめでした。

今日の夕方ごろに修復、再インストールをしてみようと思います。
夕方までに回答、もしくは修復後もウォッチできないかもしれないのでもう少し未解決のままにしておこうと思います<(_ _)>
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015]vectorのウォッチ
返信数: 21
閲覧数: 2420

Re: [VS2015]vectorのウォッチ

幸いというべきか残念というべきか、、、
stl.nativesが存在しました。
存在しているのに機能していないということは、、、(ゴクリ
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015]vectorのウォッチ
返信数: 21
閲覧数: 2420

Re: [VS2015]vectorのウォッチ

沖さん
わざわざご検証ありがとうございます。
いよいよ八方ふさがりですかね^^;
再々インストールを視野に入れ始めますorz
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015]vectorのウォッチ
返信数: 21
閲覧数: 2420

Re: [VS2015]vectorのウォッチ

みえさん
試してみましたがどうにも違うようです、、、。
チェックを入れようが入れまいが表示が変わりませんでした。orz

Mathさん
たしかにウォッチ式を書けばよいのでしょうが、
以前はウォッチに追加するだけでvectorの中身が展開できたんですよねぇ、、、
できればそのころの状態に戻したいです。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015]vectorのウォッチ
返信数: 21
閲覧数: 2420

[VS2015]vectorのウォッチ

こんにちは
今回はVS2015のvectorのウォッチについて質問があります。

最近vector型の変数をウォッチすると_myval...のように表示されます。
以前はv[0]:1、v[1]:1のように表示されていたのですが、、、

正直非常に見づらいです。
どなたか治し方をご存じではないでしょうか?

ちなみに、この現象が起こるようになった心当たりとして

vsの再インストール
プロパティシートの追加、変更

が挙げられます。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
返信数: 8
閲覧数: 939

Re: [c++(?)][google] mapのvalueを基準にした枝刈り

すみません、書き忘れていました。 template<> struct std::greater<DataType> { bool operator()(const DataType &left,const DataType &right){return left.second>right.second;} }; というようにgreaterを特殊化するコードがあると思ってください。 [hr] 元の定義を上書きしてまで特殊化する必要はないですね。 auto pred=[](const DataType &left,const DataType &right){return left.second>...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: Stack around the variable 'graph_cards' was corruptedというデバッグ
返信数: 3
閲覧数: 372

Re: Stack around the variable 'graph_cards' was corruptedという

Stack around the variable 'graph_cards' was corrupted 直訳すると「変数'graph_cards'周りのスタックが破壊された」ですかね? graph_cardsは配列のようですし、おそらく範囲外へのアクセスのせいじゃないでしょうか。 んで、graph_cardsを使っているのが DrawGraph(x2, y2, graph_cards[cards[y][x].reverse], FALSE); cards[y][x].reverseに何が入っているのかなー、と考えるとbool型のデータみたいですね。 ここからは私の体験談なので、詳しくは自分...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
返信数: 8
閲覧数: 939

Re: [c++(?)][google] mapのvalueを基準にした枝刈り

なるほど、言われてみれば毎回popするのってすごい遅そうですもんね^^; vectorとsortに置き換えようと思います。 もともと任意のn個を削除する、という質問でしたが現在は全体のx%以下の要素を削除しようと考えています。 using MyMap=map<int,double>; using DataType=pair<int,double>; MyMap x;//適当に初期化 auto sum_func=[](const double &left,const DataType &right){return left+right.second;}; auto sum=accumulate(...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
返信数: 8
閲覧数: 939

Re: [c++(?)][google] mapのvalueを基準にした枝刈り

かずまさん http://d.hatena.ne.jp/ponkotuy/20111216/1324027752 こちらのページによるとvectorをソートするよりpriority_queueに未ソートのvectorを渡してソートしてもらうほうが早いらしいです。(ほんとかどうかはしらない^^;) 今回はこちらのサイトを信用して先のようなコードにしました。 解決済みにするのを忘れていたので追加で質問をしたいと思います。 現在の私のプログラムでは学習を一回するごとに(mapの値を一回更新するごとに)先のコードを用いて枝刈しています。 しかし、それでは頭が悪そうです。(大量のコピーが学習回数分行われ...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
返信数: 8
閲覧数: 939

Re: [c++(?)][google] mapのvalueを基準にした枝刈り

おそらくですが、priority_queueを使えばいいかもしれません。 priority_queueは順序付きのスタックです。 priority_queueのプレディケートでmapのvalueを比較しましょう。 using namespace std; int main() { using MyMap=map<int,double>; using DataType=pair<int,double>; MyMap x;//値は適当に代入 priority_queue<DataType> y(begin(x),end(x));//プレディケートはデフォルトでstd::less while(!y....
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
返信数: 8
閲覧数: 939

[c++(?)][google] mapのvalueを基準にした枝刈り

こんにちは 今回はc++のmap(最終的にはgoogleのライブラリであるsparse_dense_map)について質問があります 私は現在強化学習のプログラムを作成しています. 強化学習についての説明は割愛しますが,学習値を格納するためのコンテナとしてmapを使っております.(インデックスではなくキーでアクセスしたいため) 学習を重ねるごとにmapの値は更新,もしくは追加されていくのですが, 学習回数を増やすとメモリが足りなくなってしまいます. そこで,一定回数学習を行ったら学習値(mapのvalue)が低いデータを削除しようと考えました. しかし,mapをvalueでsortする方法がわか...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について
返信数: 3
閲覧数: 563

Re: [DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について

DxLib_InitだけでなくChangeWindowModeより前に呼ぶ必要があったんですね^^;
リファレンスは呼んだのですがChangeWindowModeが全然見えていませんでしたorz

お騒がせしました。
みけCATさん、Mathさんありがとうございます。
無事解決です^^
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について
返信数: 3
閲覧数: 563

[DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について

こんにちは 今日はDxLib内の関数、SetOutApplicationLogValidFlagについて質問があります。 現在、DxLibを使いオセロを作っています。 ある程度ゲームとして完成したので、exeファイルを配布しようと思ったのですが exeファイルを実行すると謎のLog.txtが、、、 調べてみるとLog.txtというのは DxLibの出力ログ SetOutApplicationLogValidFlagで出力する、しないを変更できる ということがわかりました。 私はDxLibの初期化、終了をするクラスを作成していたので、 初期化処理のDxLib_Initの前にSetOutAppli...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: switch文について。
返信数: 17
閲覧数: 1402

Re: switch文について。

正常に動作したからこのトピックはもう終わりでいいですよね?
skclさんの疑問が解けたなら解決でいいのではないでしょうか?
セミコロン等ピリオド等スラッシュ等細かい入力ミスだけしか間違えた等の域まで達していない場合は何処で聞いたらいいのですかね?
そこらへんはぜひ自分で頑張ってほしいですね^^;
どうしてもわからない場合はここで聞いてもいいと思いますが、コードが長い場合はミスを探すのがめんどくさいですからね、、、^^;
エラーメッセージの状況を細かく提示すればいいんですかね?
エラーメッセージをコピペしてくれると、回答者さんもエラーが見つけやすいと思います。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: switch文について。
返信数: 17
閲覧数: 1402

Re: switch文について。

色々なプログラムどんどん質問しても良いでしょうか。書籍だけだとわからないですね。 質問掲示板なのですからどんどん質問していいと思います。 ただ、私は 自分で調べたけどわからなかった 掲示板の過去ログを検索したけど似たようなトピックがなかった このような場合にトピックを立てるようにしています。 あと、質問の内容をわかりやすく伝えるように努力してます。 例えば int main() { int x=1 int y=2 int z=x+y } エラーが出ます。助けてください。 ではなく、 int main() { int x=1 int y=2 int z=x+y } 足し算をするプログラムを作り...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: switch文について。
返信数: 17
閲覧数: 1402

Re: switch文について。

switch(a)のdefaultを忘れてるんじゃないでしょうか?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

skclさんの疑問が晴れたのならもういいのではないでしょうかね?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

実際に計算してみると

//()で囲っているところから計算しています
(11/3)/6/7/4=(3/6)/7/4=(0/7)/4=(0/4)=0

(11%3)%6%7%4=(2%6)%7%4=(2%7)%4=(2%4)=2

となります。

計算自体は間違ってないと思いますよ。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

おめでとうございます^^

あとは足し算とか引き算ですね^^^
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

よろしければどういうことがしたいか教えてもらってもいいですか?

いまのところ私の認識では、
  • 四則演算した結果を構造体に格納したい。
  • 引数を増やしてa+b+cやa-b-cなどにも対応できるようにしたい。
というのがskclさんのやりたいことなのかなと思っています。

これなら四則演算(いまだと割り算だけ)の結果であるquotientとremainderは特に変えなくてもいいんじゃないかなーと思いました。
商と剰余の所を変えればいいのですか?
というのがよくわからなかったので、そこには触れないでおきます^^;
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

すみませんでした。もう少し詳しく書きますね^^; #include <stdio.h> struct dr { int quotient; int remainder; }; typedef struct dr DivideResult; DivideResult Divide(int a, int b); int main() { DivideResult dr = Divide(11, 3); printf("商=%d, 剰余=%d\n", dr.quotient, dr.remainder); return 0; } DivideResult Divide(int a, int b) {...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

func(a,b,c,/*何個でも引数をとれる*/);ってことですかね?
一応できると思いますよ。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

あ、もしかして構造体に四則演算の結果を入れたいんですかね?
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1681

Re: 構造体(structure)のプログラムについて。

なにも難しいことはありません。
落ち着いて考えればわかるはずです。

aとbを引数にとってa+bやa-bをreturnします。
余りは出ないから整数の値を一つ返すだけの関数ができると思います。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクトの動的確保
返信数: 15
閲覧数: 1309

Re: オブジェクトの動的確保

CGameControlの宣言をしているファイルで、CBlockの宣言をしているファイルをincludeしていますか? 思い当たる原因はそれぐらいしかないですorz さんざんポインタの話しといてアレですけどvector<CBlock>で万事解決ではないかと、、、^^; CGAmeControlがdeleteされたら中身も消えます。 class MyClass { int x; vector<CBlock> bic; }; このクラスが使われなくなったらxの値はなくなりますよね? それと同じ感覚でbicも消えます。 たぶん動的確保=new&deleteにとらわれすぎているのではないでしょうか? ...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクトの動的確保
返信数: 15
閲覧数: 1309

Re: オブジェクトの動的確保

今回の話はvectorを使えば解決だと思うんですが、、、 気になったところを少し挙げます。 [hr] CGameControlにvector<CBlock> *bicがありますよね? で、CGameControl::Init()でblc = new CBlock(Set_X , Set_Y );という式があるんですが、おそらくこれは間違いです。 vector<CBlock> *bicというのは、CBlock型のデータを格納する配列、、、のポインタです。 もし、new CBlock(Set_X , Set_Y );のように書きたいのなら、 vector<CBlock*> bicとするべきだと思い...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタと配列
返信数: 7
閲覧数: 769

Re: ポインタと配列

バッチグーだと思います^^
すごいどうでもいい私ルールですが、配列を引数に渡すときは関数の引数も配列にしておくと見やすいかも?

void gpUpdateKey(int *Key) -> void gpUpdateKey(int Key[])

お疲れさまでした^^
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタと配列
返信数: 7
閲覧数: 769

Re: ポインタと配列

ネタバレすると、main文で呼んでるgpUpdateKey(&Key[256]);が悪いんじゃないかなぁ、と思います。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]PImplイディオムのcppファイル分割
返信数: 4
閲覧数: 607

Re: [c++]PImplイディオムのcppファイル分割

なるほどですね。
ライブラリの作り方は最近覚えたばっかだったので丁度よかったです。

これで完全解決です^^
ありがとうございました。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
返信数: 7
閲覧数: 1453

Re: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について

残念です。;_;

mplabをお使いならデバッグ機能がついてたと思うんですけど(思っただけかもしれない)
デバッグはしてみましたか?

プログラム上では正しく動いているのに出力電圧が足りなくて正しく動作しないということがあります。
(特に出力ピンが多いときとか)

コード事態が間違ってる可能性もあります。
ぜひデバッグしてみてください。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタと配列
返信数: 7
閲覧数: 769

Re: ポインタと配列

あと、main文で呼んでいるUpdateKeyですが引数がすごいことになっています^^; ポインタはとっつきにくいですが、イメージさえできれば何とかなります。 ポインタとはデータが格納されている場所(メモリのアドレス)を示します。 配列とはデータを連続して格納したものです。 たとえば int x=1; int y=2; と宣言するとデータは 1,空白,空白,2 のようにバラバラに格納されます。 しかし、 int z[2]={1,2}; と宣言するとデータは 1,2,空白,空白 のように連続して格納されます。 だからz[0]というのはzの1番目のデータを指し示します。(cだと0から数字を数え始め...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタと配列
返信数: 7
閲覧数: 769

Re: ポインタと配列

こんにちは。

パッとコードを見て一番最初にうん?となったのがKey.cppのstatic関数です。

static変数は知ってるけどstatic関数は初めて見たぞ?
ということで調べたところ、static関数はそのソースファイル(今回はKey.cpp)の中でのみ使える関数という意味らしいです。

つまり、
Key.cppでUpdateKeyを定義(staticで)したけどmainから呼び出せるUpdateKeyは定義されてないよ!
というエラーではないでしょうか。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]PImplイディオムのcppファイル分割
返信数: 4
閲覧数: 607

Re: [c++]PImplイディオムのcppファイル分割

usaoさん なぜこんな単純な方法に気づかなかったのか^^; おかげで解決です! 、、、と言いたいところなんですが、ヘッダでクラスの宣言をするということは //Impl.h #include"Aho.h" #include"MyClass.h" class MyClass::Impl { public: Aho aho; void func_aho(); }; ということですよね? これではImpl.hをインクルードしてMyClass::Impl::とかけばインテリジェンス君がメンバを見せてくれます。(もちろんアクセスはできない。) これは隠ぺい出来てるといえるのでしょうか? ちなみに、今回の...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++]PImplイディオムのcppファイル分割
返信数: 4
閲覧数: 607

[c++]PImplイディオムのcppファイル分割

おはようございます。今日はPImpleイディオムについて質問があります。 このようなクラスを考えます。 class Aho { public: int x; }; class MyClass { private: Aho aho; public: int funcA(){return aho.x+1;} int funcB(){return aho.x+2;} }; このクラスをヘッダとソースファイルに分割して、 //------------Aho.h class Aho { public: int x; }; //--------------------MyClass.h #include"...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
返信数: 7
閲覧数: 1453

Re: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について

割り込み処理は習いましたか?

今回は習ってない前提で話を進めます。(割り込みに使っていいピンをおぼえてないからです^^;

PICを使ってプログラムを動かす場合は基本的にメインとなるループの中に処理を書き込んでいきます。

コード:

int main(void)
{
    while(1)//メインループ
    {
        //処理
    }
    return 0;
}
このメインループの中でflagを更新しましょう。
私が考えるコードをすべて示すのは(間違ってるかもしんないし^^;)あまりよろしくないと思いますが、それでもいいというのならコードを挙げたいと思います。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
返信数: 14
閲覧数: 2252

Re: [c++] テンプレートクラスに対するstd::hashの特殊化

sleepさん
大変丁寧なご回答ありがとうございます。おかげでまた一つテンプレートに対する知識が増えました^^
C言語の山場がポインタだとしたらC++の山場はテンプレートですね^^;
constexprとtemplateをつかいこなせるようになれば「脱☆C++初心者」といったところでしょうか^^;

tk-xleaderさん
現在の環境では問題なく動いていますし、
プログラムがある程度完成してからちまちま修正していこうと思います。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
返信数: 14
閲覧数: 2252

Re: [c++] テンプレートクラスに対するstd::hashの特殊化

Mathさん
なるほど、C#だと若干違うのですね。
C#はほとんど何も勉強していないのでよくわからないのですが、
classをnewを使ってインスタンスするっていうことは知ってます(どやぁ

。。。知ってる言葉を適当に並べただけです^^;

windowsフォームがc++に比べて作りやすいと聞いたことがあるのでいつかは手を出してみたい言語のひとつです^^
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
返信数: 14
閲覧数: 2252

Re: [c++] テンプレートクラスに対するstd::hashの特殊化

おお!なんかガチ勢の方がたくさん来てくださってて恐縮です^^; Mathさん classを使わずにstructを使うのは元のstd::hashがstructだからです。 classもstructも処理速度は変わらない(と思う)ので、まあどっちでもいいかな~、と^^; 僕は[struct=publicメンバしか持たないclass]という認識だったのですが、もし違うようでしたらご教授ください。<(_ _)> tk-xleaderさん typenameをつければよかったんですね。早速実装してみます! と思いきや、、、sleepさんはtypenameつけてもerrorが出るとおっしゃっていますね^^;...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
返信数: 14
閲覧数: 2252

Re: [c++] テンプレートクラスに対するstd::hashの特殊化

Mathさん お早い回答ありがとうございます。 いただいた回答は私の想像していたものと少し違いましたがおかげでいいアイデアが浮かびました。^^ tk-xleaderさん 回答ありがとうございます。 おかげで何とか解決できたと思います。 私が実際に書いていたコードなんですが、 template<typename S,typename A> class QLClass { public: using SA=std::pair<S,A>; using Q=double; protected: google::sparse_hash_map<SA,Q,hash<SA>,eqstr> q_table; ...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
返信数: 7
閲覧数: 1453

Re: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について

みけCATさんへ

すっかり見落としてました^^;
ですがおそらくif(flag=1)はタイプミスで本来はif(flag==1)だと思います。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
返信数: 7
閲覧数: 1453

Re: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について

こんにちは、pic初心者です。 初心者なので話半分に聞いてください^^; おそらくmainの最初のwhileで反転するかどうかの判定をしていると思うのですが、、、 mainの次のwhileが無限ループとなっています。flagの更新式も見当たりませんでした。 これではflagの意味があんまりないんじゃないでしょうか? 本筋とはそれますが、プログラム中に似たようなコードがいくつか見られます。(if文の判定式など 関数化するとコードが見やすくなりますし、容量も減らせます。 コード一行につき1usの処理時間がかかるとかかからないとか・・・ あと、白黒を判定するための変数B,Wですが、外側、線といった変...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
返信数: 14
閲覧数: 2252

[c++] テンプレートクラスに対するstd::hashの特殊化

お世話になっております。 今回はhashの特殊化方法について質問があります。 例えば自作クラスに対してhashを特殊化する場合は class MyClass//自作クラス { public: int x; }; template<> struct std::hash<MyClass> { size_t operator()(const MyClass &obj) { rerturn obj.x; } }; このように特殊化できると思います。 ここで自作クラスがテンプレートクラスだった場合はどのように書けばよいのでしょうか? 特に自作クラスが2つ以上の型を扱う場合について教えてもらいたいです。 ...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015] ソリューション内の他プロジェクトのファイルが未解決
返信数: 1
閲覧数: 373

Re: [VS2015] ソリューション内の他プロジェクトのファイルが未解決

すみません、自己解決しました^^; 今後忘れないようにここにメモ書きさせてください。 読み込むプロジェクト:A 読み込まれるプロジェクト:B とします。 Bのプロパティを開く。 [構成プロパティ]->[全般]の[構成の種類]をスタチックライブラリ(.lib)に変更する。 [Debug]モードでメニューバーの[ビルド]から[コンパイル]を選択する。 成功するとソリューションのDebugフォルダにB.libができる。 [Release]モードで[3]をするとReleaseフォルダにもB.libができる。 Aのプロパティを開く。 左上の構成を[Debug]にする。 [リンカー]->[入力]の[追加の...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2015] ソリューション内の他プロジェクトのファイルが未解決
返信数: 1
閲覧数: 373

[VS2015] ソリューション内の他プロジェクトのファイルが未解決

こんばんは 質問内容は ソリューション内の他プロジェクトにあるクラスを使おうとしたら未解決の外部シンボルと言われました。 どうすればいいんでしょう? というものです。 詳しく状況の説明をすると、 私はオセロのプログラムを組んでいました。 プログラムは大きく分けて オセロの処理 DxLibを用いた画面描画処理 のようになりました。 ここで、プロジェクトを分割すればプログラムの管理が楽になると思いついたわけです。 プロジェクトをオセロの処理と画面描画処理に分割します。 コンソールでオセロを動くようにします。 ・・・動いたー!(・∀・) あとはこれを画面描画処理をするプロジェクトで呼び出せば万事解決...
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++] テンプレートクラスにおける処理の分離
返信数: 4
閲覧数: 628

Re: [c++] テンプレートクラスにおける処理の分離

なるほど、、、

私の読解力が足りなかったようです。(’・_・


ありがとうございました!
これで解決ということにします。
by purin52002
2年前
フォーラム: C言語何でも質問掲示板
トピック: [c++] テンプレートクラスにおける処理の分離
返信数: 4
閲覧数: 628

Re: [c++] テンプレートクラスにおける処理の分離

inemaruさん、ご指摘ありがとうございます。 ちょっと適当に書きすぎました^^; 改めてAクラスを書き直します。 //A.h template<typename T> class A{ private: T x; public: A(); T Add(T obj); } //A.cpp #include"A.h" template<typename T> A<T>::A():x(0){} template<typename T> T A<T>::Add(T obj){return x+obj;} こんな感じでどうでしょうか?^^; つまりAクラスは x->0、 Add(obj)->x+ob...

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