h2so5 さん
態々、確認して頂きありがとうございます。
実は使用しているOSが WindowsXP でして、2010以降のVCが使えない状況なのです。
使用OSについても記述しておくべきでした、すいません。
ただ、結局は移行することになるのでバグが直っていることが確認できて安心できました。
重ねてお礼申し上げます、ありがとうございました。
検索結果 22 件
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]visual studioの拡張機能とムーブコンストラクタについて
- 返信数: 6
- 閲覧数: 4715
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]visual studioの拡張機能とムーブコンストラクタについて
- 返信数: 6
- 閲覧数: 4715
Re: [c++]visual studioの拡張機能とムーブコンストラクタについて
h2so5 さん
ご回答頂き、ありがとうございます。
Visual Studio のバグが関係していたとは全く考えておりませんでした。
一応、マイクロソフトのWebページ等を調べていたのですが、該当する情報を見つけられずに困っておりました。
バージョンの件につきましては、ご指摘して頂いた通り、単純にサポートの有無の問題だったようですね。
拡張機能は切らずにおくことにしました。
おかけで助かりました、ありがとうございます!
ご回答頂き、ありがとうございます。
Visual Studio のバグが関係していたとは全く考えておりませんでした。
一応、マイクロソフトのWebページ等を調べていたのですが、該当する情報を見つけられずに困っておりました。
バージョンの件につきましては、ご指摘して頂いた通り、単純にサポートの有無の問題だったようですね。
拡張機能は切らずにおくことにしました。
おかけで助かりました、ありがとうございます!
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]visual studioの拡張機能とムーブコンストラクタについて
- 返信数: 6
- 閲覧数: 4715
Re: [c++]visual studioの拡張機能とムーブコンストラクタについて
naohiro19さん
ご回答頂き、ありがとうございます。
2010以前のVCでもエラーになるのですね。態々調べて頂き、ありがとうございます。
関数の戻り値を返す際に、コピーコンストラクタが呼ばれるので、確かに隠ぺいされているとエラーになるのも分かるのですが、
最適化の関係で呼ばれない上に、右辺値が渡された時は適切にコンストラクタを呼び分けてくれるはずなのに
何故、コピーコンストラクタが呼べないというエラーになってしまうのでしょうか、いまいち理解できません。
ご回答頂き、ありがとうございます。
2010以前のVCでもエラーになるのですね。態々調べて頂き、ありがとうございます。
関数の戻り値を返す際に、コピーコンストラクタが呼ばれるので、確かに隠ぺいされているとエラーになるのも分かるのですが、
最適化の関係で呼ばれない上に、右辺値が渡された時は適切にコンストラクタを呼び分けてくれるはずなのに
何故、コピーコンストラクタが呼べないというエラーになってしまうのでしょうか、いまいち理解できません。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]visual studioの拡張機能とムーブコンストラクタについて
- 返信数: 6
- 閲覧数: 4715
[c++]visual studioの拡張機能とムーブコンストラクタについて
お世話になっております。 私は "Visual Studio c++ 2010 Express" を使用しているのですが、 ネット上で、 "独自の拡張機能はオフにした方が良い" ということが書かれていたのでオフにしました。 そうしてプログラムを書いていると、それまでエラーが出なかった、ムーブコンストラクタ呼び出しの記述でエラーが出るようになってしまいました。 質問の内容といたしましては、 以下の記述が、 " 環境独自の拡張機能を使わなければ許されないような記述 " なのかどうかを教えて頂きたいというものです。 MyClass obj = createClass(); //createClas...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]名前空間を使ったモノステートパターンについて
- 返信数: 6
- 閲覧数: 6534
Re: [c++]名前空間を使ったモノステートパターンについて
tk-xleader さん ご回答ありがとうございます。 無名名前空間の内部リンケージ化によって、extern宣言した変数の参照が出来なくなっていた、ということなのですね。 外部リンケージにする extern を付けている状態と、そのまま実体を定義している状態での、無名名前空間の有無による違いが疑問だったのですが、 とてもすっきり理解し、納得できました。本当にありがとうございました! h2so5 さんも態々、丁寧に回答してくださってありがとうございました! そして、分かり難い説明になってしまい、すみませんでした。 お二方共、本当に助かりました。 プログラムについての勉強だけでなく、人に簡潔に意...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: リバーシの石を置けるかの評価関数について
- 返信数: 6
- 閲覧数: 5071
Re: リバーシの石を置けるかの評価関数について
初めまして。 あまり、オセロのルールに詳しくないので変なことを書いてしまっているかもしれませんが... 下記のコードについてコメントを付けさせていただいた部分で、変数 "num" に 0を代入してらっしゃいますが ここの条件は本当にこれで大丈夫でしょうか? 石を置けない状況で置けてしまうのはここが関係しているような気がします。 例えば以下のような状況で正常に動くでしょうか? --------------------------------最上部 白 白 白 空 <----- ここに黒を置けるかをチェック //以下略 ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]名前空間を使ったモノステートパターンについて
- 返信数: 6
- 閲覧数: 6534
Re: [c++]名前空間を使ったモノステートパターンについて
h2so5 さん ご回答ありがとうございます。 ( 1 ) ヘッダファイルに無名名前空間を書いても、それをインクルードしたソースは同じ翻訳単位ですから「外部」ではありません。 ( 2 ) については状況がよくわかりません。ヘッダをインクルードしているソースではどのように定義されているのでしょうか。 説明が下手ですみません、( 2 )の状況は以下のようになっております。 /*** 名前空間 "Keyboard" にアクセスするファイル ( Keyboard_Sub.cpp ) ***/ #include "Keyboard.h" void set(int num){ Keyboard::key[...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]名前空間を使ったモノステートパターンについて
- 返信数: 6
- 閲覧数: 6534
Re: [c++]名前空間を使ったモノステートパターンについて
tk-xleader さん ご回答ありがとうございます。返答が遅くなり、申し訳ありません。 無名名前空間がクラスにおける private指定の役割を果たすというご指摘は理屈として、とても納得できました。 できたのですが、ご提示していただいたコードについて、以下のように無名名前空間の部分をコメントアウトしても 実装ファイル以外の外部ファイル( 下記の Keyboard_Sub.cpp )からアクセスができない状態となりました。 Keyboard.h namespace Keyboard{ void keyUpdate(); const int* getKeyState(); } Keyboard...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++]名前空間を使ったモノステートパターンについて
- 返信数: 6
- 閲覧数: 6534
[c++]名前空間を使ったモノステートパターンについて
お世話になっております。 こちらのサイト ( http://www.geocities.co.jp/bleis_tift/cpp/singleton.html ) の記事を参考に勉強しようとしていましたところ、 モノステートパターンはクラス以外にも、名前空間と無名名前空間を使って実装できるということが書かれていました。 こちらの過去のトピック ( http://dixq.net/forum/viewtopic.php?t=8433&p=69002 ) で h2so5 さんが提示されていたコード(下記コード)が正に、その名前空間を使ったモノステートパターンではないかと思ったのですが、 名前空間の...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]クラスオブジェクトを return する際の挙動について
- 返信数: 2
- 閲覧数: 5001
Re: [C++]クラスオブジェクトを return する際の挙動について
h2so5 さん
迅速なご回答をありがとうございます。
"コピー省略" というものが規格で定義されていることは知りませんでした。エラーになるのですね。
もっとよく調べるべきでした、お騒がせしてすみません。
引用されたページなどを参考にさせて頂き、少しでも多く勉強したいと思います。
ありがとうございました!
迅速なご回答をありがとうございます。
"コピー省略" というものが規格で定義されていることは知りませんでした。エラーになるのですね。
もっとよく調べるべきでした、お騒がせしてすみません。
引用されたページなどを参考にさせて頂き、少しでも多く勉強したいと思います。
ありがとうございました!
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語入門3章サンプルプログラム
- 返信数: 4
- 閲覧数: 2334
Re: C言語入門3章サンプルプログラム
初めまして、拙いながらも説明させて頂きます。 ※すみません、変な所があったので訂正いたします。 1の回答: 11行目のwhile文の条件が " inpが0より小さい、またはinpが9999より大きい "となっていて、 キーボードからの入力が、この条件の範囲から脱するまで(inpが0~9999の範囲に収まるまで)繰り返しwhile文で入力させることになります。 一番最初にキーボードから入力してもらうために、わざと上記の範囲外の値を設定しているということなのでしょう。 2の回答: 9行目のfor文は、条件(ここではcountが10以下という条件)を満たしている間、for文の中の処理、つまり、9行目...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [C++]クラスオブジェクトを return する際の挙動について
- 返信数: 2
- 閲覧数: 5001
[C++]クラスオブジェクトを return する際の挙動について
何度もお世話になっております。 質問の間隔が短くてすみません、なるべく自分一人で解決したいのですが疑問が解けずにトピックを立ててしまいました。 私の環境は Visual Studio C++ 2010 でございます。 質問の内容ですが、以下のようなコードで #include <iostream> #include <memory> using namespace std; /* 関数テンプレートの作成対象になるクラステンプレート */ template<typename T> class MyClass{ public: MyClass(T num){ m_number = num; cout...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートの型名について
- 返信数: 3
- 閲覧数: 2418
Re: [c++] テンプレートの型名について
usaoさん 迅速なご回答ありがとうございます。 どこのクラスで宣言されているのかを記述しなくてはいけなかったのですね。 自分でコメントに " MyClass::iteratorとして使えるようにする " と書いておきながら、間抜けなミスを犯してしまってました。 仰る通りにソースを修正しましたら、無事コンパイルが通りました。かなり悩んでいたので本当に助かりました、ありがとうございます! YuOさん usaoさんと同じく、迅速なご回答ありがとうございます。 そもそも、走査対象になっていなかったということだったんですね、勉強になりました! お話をまとめますと、 1. クラス内の宣言で typena...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: [c++] テンプレートの型名について
- 返信数: 3
- 閲覧数: 2418
[c++] テンプレートの型名について
お世話になっております、大変初歩的な質問かもしれませんがお願いします。 下記のサイト様を参考にイテレータとクラステンプレートの簡単な実装を試していてエラーが出たので、その理由について伺いたいのです。 http://program.station.ez-net.jp/special/handbook/cpp/stl/iterator-make.asp 以下はヘッダファイル部分ですが、内容は至極単純なコンテナクラスとイテレータクラスをテンプレートにしただけのものです(200行近くあり冗長です、すみません) エラーが出た場所は MyClassクラスの実装部分の "begin関数" と "end関数"...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームについて
- 返信数: 5
- 閲覧数: 2890
Re: ゲームについて
ISLeさん、みけCAT さん
ご指摘ありがとうございます。
char型配列をstring型に変更して、getline関数で読み込むようにしたところ問題無く動くようになりました。
初歩的な事柄をお聞きしてしまい、すいませんでした。解決とさせていただきます。
お二方共、ありがとうございました。
ご指摘ありがとうございます。
char型配列をstring型に変更して、getline関数で読み込むようにしたところ問題無く動くようになりました。
初歩的な事柄をお聞きしてしまい、すいませんでした。解決とさせていただきます。
お二方共、ありがとうございました。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームについて
- 返信数: 5
- 閲覧数: 2890
Re: ゲームについて
みけCAT さん、ご返答ありがとうございます。 教えて頂いた、getline関数や他の関数を調べて、総当たり的にデバッグして入力を受け取る getInput 関数の部分を以下のように書いたところ、 無事に複数の文字列を入力するなどしても、意図した通りの動きをしてくれるようになりました。 なので、これにてこのトピックは解決としたいのですが、デバッグしていく中で新たな疑問が生じました。 もし差し支えなければ教えて頂きたいのですが、 当初は cin.fail() などのエラー処理をせずに、getlineなどを使ってテストをしていたのですが 確保しておいたcommand配列のサイズを超過した入力があっ...
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームについて
- 返信数: 5
- 閲覧数: 2890
ゲームについて
お久しぶりにこちらの掲示板に書き込みさせていただきます。K_Tarouと申します。 ある書籍を参考にc++のゲーム製作について勉強しておりまして、本当に初歩の初歩ですが、一応動くようになりました。 しかし、意図していない挙動をしていて、その原因もいまいち分かりません。具体的には ユーザーから、cinで入力を受け取る部分で、複数回の入力( 例えば、"aaa" など )を一度に受け付けてしまう状態になっています。 本当は一度の入力( エンターキー )に対して、1マスだけ動いてほしいのです。 どうか原因をヒントだけでも結構ですので、教えていただけませんでしょうか? それとよろしければ、構造やコードの...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: [雑談・相談]プログラミングの訓練について
- 返信数: 4
- 閲覧数: 2571
Re: [雑談・相談]プログラミングの訓練について
見方を変えると、日常では自然と出来ている事でもあるのです。 ソートと言われると難しそうですが、このカードを手で並び替えろと言われれば難なく出来ると思います。 実際に、トランプなどを使ってアルゴリズムを疑似体験すると分かりやすくなると思うんですけどね。 ソフト屋様 ご回答ありがとうございます。 確かに並べ替えのような作業は日常的に無意識で出来ていることですね。 少し気持ちを落ち着けて、普段から意識して過ごしてみます。 トランプについてもやってみたいと思います、貴重なご意見ありがとうございます。 アルゴリズムや論理的な考え方とともに、データ構造に関して学ぶ必要があります。 コマンドライン上で文字...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: [雑談・相談]プログラミングの訓練について
- 返信数: 4
- 閲覧数: 2571
[雑談・相談]プログラミングの訓練について
お世話になっております。 ソースコード等はなく、直接的にプログラミングに関係があるかどうか判断が難しかったので "雑談・相談" という形でトピックを投稿いたしました。 今回、お聞きしたいことはプログラミングの上達法や考え方についてです。 私は現在、C++の文法などと並行して、「ソート」などの基本的なアルゴリズムについて勉強をしております。 しかし、アルゴリズムというものが、なかなか頭に入ってこない状況で全くトレースなどが出来ずに困っています。 例えば、「基本情報技術者試験」の下記のような疑似言語(?)問題を解こうと試みますが、約2時間もの時間をかけても正答にたどりつけませんでした。 http:...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ演算とconstについて
- 返信数: 4
- 閲覧数: 2885
Re: ポインタ演算とconstについて
分かりました。おかげさまでようやく納得できました。涼雅 さんが書きました: おそらくはその認識で間違いないと思います。
提示された、"ポインタのポインタ" や "参照" についても、もう一度勉強をして精進したいと思います。
迅速なご回答ありがとうございました!
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ演算とconstについて
- 返信数: 4
- 閲覧数: 2885
Re: ポインタ演算とconstについて
1つ目. コンストラクタに"abcd"のアドレスのコピーが渡される。 get_Lengにssのコピーが渡される(="abcd"のアドレスのコピーが渡される)。 sはssのコピーなので、sのアドレスが前置インクリメントで進められても、ssは変更されない->以上のような実行結果に。 (get_Lengやarr_Copyの引数はconst char*型にしたほうが良いかと) 2つ目. 1つ目より、メンバ変数が変更されることはない。 ポインタ周辺はやはり複雑ですね。 ここいらの感覚を身につけるのは私も苦労した覚えがあります。 ダブルポインタ(ポインタへのポインタ)や、参照などの概念に触れると少し理解...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタ演算とconstについて
- 返信数: 4
- 閲覧数: 2885
ポインタ演算とconstについて
初めてこちらの掲示板を利用させて頂きます、K_Tarouと申します。よろしくお願いいたします。 私は現在、C++を入門書を片手に独学しておりまして、いずれはゲームも作りたいと考えております。 プログラミング自体は勉強し始めて一ヶ月未満で、文法も完全にマスターしていない初心者です。 入門書に書かれているポインタについての事柄が気になって、コードを書きましたが予想に反した結果になってしまいました。 下記のようなコードを書いて色々と動作を試しておりました。お聞きしたいことは二つあります。 #include <cstdio> using namespace std; class Mystr{ priv...