検索結果 235 件
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]ライブラリファイル内の未解決外部シンボルについて
- 返信数: 2
- 閲覧数: 1831
Re: [c++]ライブラリファイル内の未解決外部シンボルについて
かずまさん 返信ありがとうございます。 未解決はやっぱり未定義なんですね^^; 自分でいろいろ検証したところ、自己解決してしまいました。(申し訳ないです。 問題はコードではなくリンカのほうにあったようです。 私はvisualstudio2015で開発をしています。 ライブラリファイルを2つ(A,Bとします)利用するためにライブラリがあるディレクトリのパスをプロパティで設定しました。 どうやらこのディレクトリの中にゴミが混ざっていたようで、 Adir->A Bdir->B,A(!?) のようにBのディレクトリにAのライブラリが混ざっていたのです。 で、Bディレクトリの中にあるAが読み込まれて変な...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]ライブラリファイル内の未解決外部シンボルについて
- 返信数: 2
- 閲覧数: 1831
[c++]ライブラリファイル内の未解決外部シンボルについて
こんばんは、今回は大嫌いな未解決外部シンボルについて質問があります。 staticなメンバ変数を持つクラス 1を継承したクラス 上の二つのようなクラスをライブラリ化しました。 これらは二つともビルドできたのですが、 これら二つを利用してプログラムを書くと"メンバ変数は未解決です"というエラーが出ます。 片方だけを利用するとビルドできるので、おそらくstaticメンバ変数が二重定義されている(同じソースファイルが二度読まれている)んじゃないかなとアタリをつけています。 、、、つけてるだけで確信はないのですが^^; というわけで、今回の質問です。 ソースファイル(というよりオブジェクトファイル?)...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]vector<unique_ptr<T>>の初期化
- 返信数: 5
- 閲覧数: 5196
Re: [C++]vector<unique_ptr<T>>の初期化
zeekさん ありがとうございます。おかげでうまくいきました。 生の配列なんて久しく使っていなかったのですが、配列のことちょっとなめてましたね、、、 inemaruさん 初期化リストを使えと聞いて真っ先に思い浮かんだのがinitializer_listでした。 それからinitializer_listで実装してみたところ「A型とB型の初期化子ってなんやねん」と怒られ、「Base型のリストだよ」と明示していました。 とても醜かったのでまたこちらで質問するかどうかで悩んでいたところにinemaruさんの追記でした^^ 可変引数に右辺値参照にforwardに、、、 実際に使うのはどれも初めてでした^...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]vector<unique_ptr<T>>の初期化
- 返信数: 5
- 閲覧数: 5196
Re: [C++]vector<unique_ptr<T>>の初期化
inemaruさん
素晴らしいアイデアをありがとうございます。
目から鱗でした。
早速使わせていただきたいと思います。
emplace_backについてなのですが、
私の認識ではコピーしないpush_backのイメージでした。
unique_ptrはコピーができない(moveされる)のでpush_backでもいいのかな、と思っていたのですが
やはりemplace_backのほうが効率がいいのでしょうか?
(名前が複雑という理由だけで使わず嫌いを起こしています^^;)
素晴らしいアイデアをありがとうございます。
目から鱗でした。
早速使わせていただきたいと思います。
emplace_backについてなのですが、
私の認識ではコピーしないpush_backのイメージでした。
unique_ptrはコピーができない(moveされる)のでpush_backでもいいのかな、と思っていたのですが
やはりemplace_backのほうが効率がいいのでしょうか?
(名前が複雑という理由だけで使わず嫌いを起こしています^^;)
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]vector<unique_ptr<T>>の初期化
- 返信数: 5
- 閲覧数: 5196
[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...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ネット接続
- 返信数: 3
- 閲覧数: 2289
Re: ネット接続
「visual c++ でネットに接続」でぐぐったら参考になりそうなサイトが何件か出てきました。
まずはそちらのサイトで勉強してみた方が多分いいですよ^^
まずはそちらのサイトで勉強してみた方が多分いいですよ^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ファイルが作れない
- 返信数: 8
- 閲覧数: 5010
Re: ファイルが作れない
コンソール<->windowsアプリは
プロジェクト->プロパティ
左上の構成をすべての構成にして
リンカー->システム->サブシステムをいじれば変えられた、、、はずです(たしか
サブシステムがwindowsになっていたらコンソールにしてみてください
プロジェクト->プロパティ
左上の構成をすべての構成にして
リンカー->システム->サブシステムをいじれば変えられた、、、はずです(たしか
サブシステムがwindowsになっていたらコンソールにしてみてください
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 基底クラスの必要性について
- 返信数: 6
- 閲覧数: 4040
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" <<...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10720
Re: [VS2015]vectorのウォッチ
返信が遅れてしまい申し訳ありません。
たくさんの回答ありがとうございました。
せっかくたくさんの意見を出してもらっておいて申し訳ないのですが、修復をかけたら直りました-_-;
もし今度また同じような現象が起こったら、今回出た回答を参考にしたいと思います^^
たくさんの回答ありがとうございました。
せっかくたくさんの意見を出してもらっておいて申し訳ないのですが、修復をかけたら直りました-_-;
もし今度また同じような現象が起こったら、今回出た回答を参考にしたいと思います^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10720
Re: [VS2015]vectorのウォッチ
沖さん
レジストリをいじるのはちょっと怖いですね、、、
みえさん
3番目以外の方法を試してみたのですがだめでした。
今日の夕方ごろに修復、再インストールをしてみようと思います。
夕方までに回答、もしくは修復後もウォッチできないかもしれないのでもう少し未解決のままにしておこうと思います<(_ _)>
レジストリをいじるのはちょっと怖いですね、、、
みえさん
3番目以外の方法を試してみたのですがだめでした。
今日の夕方ごろに修復、再インストールをしてみようと思います。
夕方までに回答、もしくは修復後もウォッチできないかもしれないのでもう少し未解決のままにしておこうと思います<(_ _)>
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10720
Re: [VS2015]vectorのウォッチ
幸いというべきか残念というべきか、、、
stl.nativesが存在しました。
存在しているのに機能していないということは、、、(ゴクリ
stl.nativesが存在しました。
存在しているのに機能していないということは、、、(ゴクリ
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10720
Re: [VS2015]vectorのウォッチ
沖さん
わざわざご検証ありがとうございます。
いよいよ八方ふさがりですかね^^;
再々インストールを視野に入れ始めますorz
わざわざご検証ありがとうございます。
いよいよ八方ふさがりですかね^^;
再々インストールを視野に入れ始めますorz
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10720
Re: [VS2015]vectorのウォッチ
みえさん
試してみましたがどうにも違うようです、、、。
チェックを入れようが入れまいが表示が変わりませんでした。orz
Mathさん
たしかにウォッチ式を書けばよいのでしょうが、
以前はウォッチに追加するだけでvectorの中身が展開できたんですよねぇ、、、
できればそのころの状態に戻したいです。
試してみましたがどうにも違うようです、、、。
チェックを入れようが入れまいが表示が変わりませんでした。orz
Mathさん
たしかにウォッチ式を書けばよいのでしょうが、
以前はウォッチに追加するだけでvectorの中身が展開できたんですよねぇ、、、
できればそのころの状態に戻したいです。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015]vectorのウォッチ
- 返信数: 21
- 閲覧数: 10720
[VS2015]vectorのウォッチ
こんにちは
今回はVS2015のvectorのウォッチについて質問があります。
最近vector型の変数をウォッチすると_myval...のように表示されます。
以前はv[0]:1、v[1]:1のように表示されていたのですが、、、
正直非常に見づらいです。
どなたか治し方をご存じではないでしょうか?
ちなみに、この現象が起こるようになった心当たりとして
vsの再インストール
プロパティシートの追加、変更
が挙げられます。
今回はVS2015のvectorのウォッチについて質問があります。
最近vector型の変数をウォッチすると_myval...のように表示されます。
以前はv[0]:1、v[1]:1のように表示されていたのですが、、、
正直非常に見づらいです。
どなたか治し方をご存じではないでしょうか?
ちなみに、この現象が起こるようになった心当たりとして
vsの再インストール
プロパティシートの追加、変更
が挙げられます。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
- 返信数: 8
- 閲覧数: 3710
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>...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: Stack around the variable 'graph_cards' was corruptedというデバッグ
- 返信数: 3
- 閲覧数: 1697
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型のデータみたいですね。 ここからは私の体験談なので、詳しくは自分...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
- 返信数: 8
- 閲覧数: 3710
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(...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
- 返信数: 8
- 閲覧数: 3710
Re: [c++(?)][google] mapのvalueを基準にした枝刈り
かずまさん http://d.hatena.ne.jp/ponkotuy/20111216/1324027752 こちらのページによるとvectorをソートするよりpriority_queueに未ソートのvectorを渡してソートしてもらうほうが早いらしいです。(ほんとかどうかはしらない^^;) 今回はこちらのサイトを信用して先のようなコードにしました。 解決済みにするのを忘れていたので追加で質問をしたいと思います。 現在の私のプログラムでは学習を一回するごとに(mapの値を一回更新するごとに)先のコードを用いて枝刈しています。 しかし、それでは頭が悪そうです。(大量のコピーが学習回数分行われ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
- 返信数: 8
- 閲覧数: 3710
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....
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++(?)][google] mapのvalueを基準にした枝刈り
- 返信数: 8
- 閲覧数: 3710
[c++(?)][google] mapのvalueを基準にした枝刈り
こんにちは 今回はc++のmap(最終的にはgoogleのライブラリであるsparse_dense_map)について質問があります 私は現在強化学習のプログラムを作成しています. 強化学習についての説明は割愛しますが,学習値を格納するためのコンテナとしてmapを使っております.(インデックスではなくキーでアクセスしたいため) 学習を重ねるごとにmapの値は更新,もしくは追加されていくのですが, 学習回数を増やすとメモリが足りなくなってしまいます. そこで,一定回数学習を行ったら学習値(mapのvalue)が低いデータを削除しようと考えました. しかし,mapをvalueでsortする方法がわか...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について
- 返信数: 3
- 閲覧数: 2353
Re: [DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について
DxLib_InitだけでなくChangeWindowModeより前に呼ぶ必要があったんですね^^;
リファレンスは呼んだのですがChangeWindowModeが全然見えていませんでしたorz
お騒がせしました。
みけCATさん、Mathさんありがとうございます。
無事解決です^^
リファレンスは呼んだのですがChangeWindowModeが全然見えていませんでしたorz
お騒がせしました。
みけCATさん、Mathさんありがとうございます。
無事解決です^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について
- 返信数: 3
- 閲覧数: 2353
[DxLib]メンバ関数内でのSetOutApplicationLogValidFlagの挙動について
こんにちは 今日はDxLib内の関数、SetOutApplicationLogValidFlagについて質問があります。 現在、DxLibを使いオセロを作っています。 ある程度ゲームとして完成したので、exeファイルを配布しようと思ったのですが exeファイルを実行すると謎のLog.txtが、、、 調べてみるとLog.txtというのは DxLibの出力ログ SetOutApplicationLogValidFlagで出力する、しないを変更できる ということがわかりました。 私はDxLibの初期化、終了をするクラスを作成していたので、 初期化処理のDxLib_Initの前にSetOutAppli...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: switch文について。
- 返信数: 17
- 閲覧数: 6754
Re: switch文について。
skclさんの疑問が解けたなら解決でいいのではないでしょうか?正常に動作したからこのトピックはもう終わりでいいですよね?
そこらへんはぜひ自分で頑張ってほしいですね^^;セミコロン等ピリオド等スラッシュ等細かい入力ミスだけしか間違えた等の域まで達していない場合は何処で聞いたらいいのですかね?
どうしてもわからない場合はここで聞いてもいいと思いますが、コードが長い場合はミスを探すのがめんどくさいですからね、、、^^;
エラーメッセージをコピペしてくれると、回答者さんもエラーが見つけやすいと思います。エラーメッセージの状況を細かく提示すればいいんですかね?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: switch文について。
- 返信数: 17
- 閲覧数: 6754
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 } 足し算をするプログラムを作り...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: switch文について。
- 返信数: 17
- 閲覧数: 6754
Re: switch文について。
switch(a)のdefaultを忘れてるんじゃないでしょうか?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
Re: 構造体(structure)のプログラムについて。
skclさんの疑問が晴れたのならもういいのではないでしょうかね?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
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
となります。
計算自体は間違ってないと思いますよ。
//()で囲っているところから計算しています
(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
となります。
計算自体は間違ってないと思いますよ。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
Re: 構造体(structure)のプログラムについて。
おめでとうございます^^
あとは足し算とか引き算ですね^^^
あとは足し算とか引き算ですね^^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
Re: 構造体(structure)のプログラムについて。
よろしければどういうことがしたいか教えてもらってもいいですか?
いまのところ私の認識では、
これなら四則演算(いまだと割り算だけ)の結果であるquotientとremainderは特に変えなくてもいいんじゃないかなーと思いました。
いまのところ私の認識では、
- 四則演算した結果を構造体に格納したい。
- 引数を増やしてa+b+cやa-b-cなどにも対応できるようにしたい。
これなら四則演算(いまだと割り算だけ)の結果であるquotientとremainderは特に変えなくてもいいんじゃないかなーと思いました。
というのがよくわからなかったので、そこには触れないでおきます^^;商と剰余の所を変えればいいのですか?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
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) {...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
Re: 構造体(structure)のプログラムについて。
func(a,b,c,/*何個でも引数をとれる*/);ってことですかね?
一応できると思いますよ。
一応できると思いますよ。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
Re: 構造体(structure)のプログラムについて。
あ、もしかして構造体に四則演算の結果を入れたいんですかね?
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体(structure)のプログラムについて。
- 返信数: 27
- 閲覧数: 9598
Re: 構造体(structure)のプログラムについて。
なにも難しいことはありません。
落ち着いて考えればわかるはずです。
aとbを引数にとってa+bやa-bをreturnします。
余りは出ないから整数の値を一つ返すだけの関数ができると思います。
落ち着いて考えればわかるはずです。
aとbを引数にとってa+bやa-bをreturnします。
余りは出ないから整数の値を一つ返すだけの関数ができると思います。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: オブジェクトの動的確保
- 返信数: 15
- 閲覧数: 5078
Re: オブジェクトの動的確保
CGameControlの宣言をしているファイルで、CBlockの宣言をしているファイルをincludeしていますか? 思い当たる原因はそれぐらいしかないですorz さんざんポインタの話しといてアレですけどvector<CBlock>で万事解決ではないかと、、、^^; CGAmeControlがdeleteされたら中身も消えます。 class MyClass { int x; vector<CBlock> bic; }; このクラスが使われなくなったらxの値はなくなりますよね? それと同じ感覚でbicも消えます。 たぶん動的確保=new&deleteにとらわれすぎているのではないでしょうか? ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: オブジェクトの動的確保
- 返信数: 15
- 閲覧数: 5078
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とするべきだと思い...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタと配列
- 返信数: 7
- 閲覧数: 2857
Re: ポインタと配列
バッチグーだと思います^^
すごいどうでもいい私ルールですが、配列を引数に渡すときは関数の引数も配列にしておくと見やすいかも?
void gpUpdateKey(int *Key) -> void gpUpdateKey(int Key[])
お疲れさまでした^^
すごいどうでもいい私ルールですが、配列を引数に渡すときは関数の引数も配列にしておくと見やすいかも?
void gpUpdateKey(int *Key) -> void gpUpdateKey(int Key[])
お疲れさまでした^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタと配列
- 返信数: 7
- 閲覧数: 2857
Re: ポインタと配列
ネタバレすると、main文で呼んでるgpUpdateKey(&Key[256]);が悪いんじゃないかなぁ、と思います。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]PImplイディオムのcppファイル分割
- 返信数: 4
- 閲覧数: 2478
Re: [c++]PImplイディオムのcppファイル分割
なるほどですね。
ライブラリの作り方は最近覚えたばっかだったので丁度よかったです。
これで完全解決です^^
ありがとうございました。
ライブラリの作り方は最近覚えたばっかだったので丁度よかったです。
これで完全解決です^^
ありがとうございました。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
- 返信数: 7
- 閲覧数: 4047
Re: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
残念です。;_;
mplabをお使いならデバッグ機能がついてたと思うんですけど(思っただけかもしれない)
デバッグはしてみましたか?
プログラム上では正しく動いているのに出力電圧が足りなくて正しく動作しないということがあります。
(特に出力ピンが多いときとか)
コード事態が間違ってる可能性もあります。
ぜひデバッグしてみてください。
mplabをお使いならデバッグ機能がついてたと思うんですけど(思っただけかもしれない)
デバッグはしてみましたか?
プログラム上では正しく動いているのに出力電圧が足りなくて正しく動作しないということがあります。
(特に出力ピンが多いときとか)
コード事態が間違ってる可能性もあります。
ぜひデバッグしてみてください。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタと配列
- 返信数: 7
- 閲覧数: 2857
Re: ポインタと配列
あと、main文で呼んでいるUpdateKeyですが引数がすごいことになっています^^; ポインタはとっつきにくいですが、イメージさえできれば何とかなります。 ポインタとはデータが格納されている場所(メモリのアドレス)を示します。 配列とはデータを連続して格納したものです。 たとえば int x=1; int y=2; と宣言するとデータは 1,空白,空白,2 のようにバラバラに格納されます。 しかし、 int z[2]={1,2}; と宣言するとデータは 1,2,空白,空白 のように連続して格納されます。 だからz[0]というのはzの1番目のデータを指し示します。(cだと0から数字を数え始め...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタと配列
- 返信数: 7
- 閲覧数: 2857
Re: ポインタと配列
こんにちは。
パッとコードを見て一番最初にうん?となったのがKey.cppのstatic関数です。
static変数は知ってるけどstatic関数は初めて見たぞ?
ということで調べたところ、static関数はそのソースファイル(今回はKey.cpp)の中でのみ使える関数という意味らしいです。
つまり、
Key.cppでUpdateKeyを定義(staticで)したけどmainから呼び出せるUpdateKeyは定義されてないよ!
というエラーではないでしょうか。
パッとコードを見て一番最初にうん?となったのがKey.cppのstatic関数です。
static変数は知ってるけどstatic関数は初めて見たぞ?
ということで調べたところ、static関数はそのソースファイル(今回はKey.cpp)の中でのみ使える関数という意味らしいです。
つまり、
Key.cppでUpdateKeyを定義(staticで)したけどmainから呼び出せるUpdateKeyは定義されてないよ!
というエラーではないでしょうか。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]PImplイディオムのcppファイル分割
- 返信数: 4
- 閲覧数: 2478
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::とかけばインテリジェンス君がメンバを見せてくれます。(もちろんアクセスはできない。) これは隠ぺい出来てるといえるのでしょうか? ちなみに、今回の...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]PImplイディオムのcppファイル分割
- 返信数: 4
- 閲覧数: 2478
[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"...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
- 返信数: 7
- 閲覧数: 4047
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
- 返信数: 14
- 閲覧数: 7242
Re: [c++] テンプレートクラスに対するstd::hashの特殊化
sleepさん
大変丁寧なご回答ありがとうございます。おかげでまた一つテンプレートに対する知識が増えました^^
C言語の山場がポインタだとしたらC++の山場はテンプレートですね^^;
constexprとtemplateをつかいこなせるようになれば「脱☆C++初心者」といったところでしょうか^^;
tk-xleaderさん
現在の環境では問題なく動いていますし、
プログラムがある程度完成してからちまちま修正していこうと思います。
大変丁寧なご回答ありがとうございます。おかげでまた一つテンプレートに対する知識が増えました^^
C言語の山場がポインタだとしたらC++の山場はテンプレートですね^^;
constexprとtemplateをつかいこなせるようになれば「脱☆C++初心者」といったところでしょうか^^;
tk-xleaderさん
現在の環境では問題なく動いていますし、
プログラムがある程度完成してからちまちま修正していこうと思います。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
- 返信数: 14
- 閲覧数: 7242
Re: [c++] テンプレートクラスに対するstd::hashの特殊化
Mathさん
なるほど、C#だと若干違うのですね。
C#はほとんど何も勉強していないのでよくわからないのですが、
classをnewを使ってインスタンスするっていうことは知ってます(どやぁ
。。。知ってる言葉を適当に並べただけです^^;
windowsフォームがc++に比べて作りやすいと聞いたことがあるのでいつかは手を出してみたい言語のひとつです^^
なるほど、C#だと若干違うのですね。
C#はほとんど何も勉強していないのでよくわからないのですが、
classをnewを使ってインスタンスするっていうことは知ってます(どやぁ
。。。知ってる言葉を適当に並べただけです^^;
windowsフォームがc++に比べて作りやすいと聞いたことがあるのでいつかは手を出してみたい言語のひとつです^^
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
- 返信数: 14
- 閲覧数: 7242
Re: [c++] テンプレートクラスに対するstd::hashの特殊化
おお!なんかガチ勢の方がたくさん来てくださってて恐縮です^^; Mathさん classを使わずにstructを使うのは元のstd::hashがstructだからです。 classもstructも処理速度は変わらない(と思う)ので、まあどっちでもいいかな~、と^^; 僕は[struct=publicメンバしか持たないclass]という認識だったのですが、もし違うようでしたらご教授ください。<(_ _)> tk-xleaderさん typenameをつければよかったんですね。早速実装してみます! と思いきや、、、sleepさんはtypenameつけてもerrorが出るとおっしゃっていますね^^;...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
- 返信数: 14
- 閲覧数: 7242
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; ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
- 返信数: 7
- 閲覧数: 4047
Re: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
みけCATさんへ
すっかり見落としてました^^;
ですがおそらくif(flag=1)はタイプミスで本来はif(flag==1)だと思います。
すっかり見落としてました^^;
ですがおそらくif(flag=1)はタイプミスで本来はif(flag==1)だと思います。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
- 返信数: 7
- 閲覧数: 4047
Re: ライントレースロボットのセンサーを白黒反転させるプログラムの作成について
こんにちは、pic初心者です。 初心者なので話半分に聞いてください^^; おそらくmainの最初のwhileで反転するかどうかの判定をしていると思うのですが、、、 mainの次のwhileが無限ループとなっています。flagの更新式も見当たりませんでした。 これではflagの意味があんまりないんじゃないでしょうか? 本筋とはそれますが、プログラム中に似たようなコードがいくつか見られます。(if文の判定式など 関数化するとコードが見やすくなりますし、容量も減らせます。 コード一行につき1usの処理時間がかかるとかかからないとか・・・ あと、白黒を判定するための変数B,Wですが、外側、線といった変...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートクラスに対するstd::hashの特殊化
- 返信数: 14
- 閲覧数: 7242
[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つ以上の型を扱う場合について教えてもらいたいです。 ...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015] ソリューション内の他プロジェクトのファイルが未解決
- 返信数: 1
- 閲覧数: 1397
Re: [VS2015] ソリューション内の他プロジェクトのファイルが未解決
すみません、自己解決しました^^; 今後忘れないようにここにメモ書きさせてください。 読み込むプロジェクト:A 読み込まれるプロジェクト:B とします。 Bのプロパティを開く。 [構成プロパティ]->[全般]の[構成の種類]をスタチックライブラリ(.lib)に変更する。 [Debug]モードでメニューバーの[ビルド]から[コンパイル]を選択する。 成功するとソリューションのDebugフォルダにB.libができる。 [Release]モードで[3]をするとReleaseフォルダにもB.libができる。 Aのプロパティを開く。 左上の構成を[Debug]にする。 [リンカー]->[入力]の[追加の...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [VS2015] ソリューション内の他プロジェクトのファイルが未解決
- 返信数: 1
- 閲覧数: 1397
[VS2015] ソリューション内の他プロジェクトのファイルが未解決
こんばんは 質問内容は ソリューション内の他プロジェクトにあるクラスを使おうとしたら未解決の外部シンボルと言われました。 どうすればいいんでしょう? というものです。 詳しく状況の説明をすると、 私はオセロのプログラムを組んでいました。 プログラムは大きく分けて オセロの処理 DxLibを用いた画面描画処理 のようになりました。 ここで、プロジェクトを分割すればプログラムの管理が楽になると思いついたわけです。 プロジェクトをオセロの処理と画面描画処理に分割します。 コンソールでオセロを動くようにします。 ・・・動いたー!(・∀・) あとはこれを画面描画処理をするプロジェクトで呼び出せば万事解決...
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートクラスにおける処理の分離
- 返信数: 4
- 閲覧数: 2442
Re: [c++] テンプレートクラスにおける処理の分離
なるほど、、、
私の読解力が足りなかったようです。(’・_・
ありがとうございました!
これで解決ということにします。
私の読解力が足りなかったようです。(’・_・
ありがとうございました!
これで解決ということにします。
- 7年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートクラスにおける処理の分離
- 返信数: 4
- 閲覧数: 2442
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...