検索結果 939 件

by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 「Windows Subsystem of LINUX」の並行性に関わるファイル操作問題
返信数: 3
閲覧数: 1450

Re: 「Windows Subsystem of LINUX」の並行性に関わるファイル操作問題

まず,根本の話です。 Windowsの実行環境というのは,「Windowsの本体と言うべきカーネル部分」と「サブシステム」という組み合わせからなっています。 Windowsサブシステム(正確に書くならWin64サブシステムやWin32サブシステム)やWindows Subsystem for LINUXは後者です。 前者の中にデバイスドライバやNT Kernel,NT Executiveが含まれます。 NT ExecutiveがNT Kernelとして扱われるのかはよくわからない。 資料見る限り,厳密には違うけれども(NT KernelはNT ExecutiveとHALの間,とか書かれている)...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: このLINUX系の二つの命令の区別
返信数: 2
閲覧数: 996

Re: このLINUX系の二つの命令の区別

wgetはウェブサーバーからリソースを取得するためのプログラムです。

gitはgitというバージョン管理ツールの管理コマンドで,そのサブコマンドcloneは他のリポジトリの複製を行います。
その時に,元がbareリポジトリで複製先をbareリポジトリにしない場合,(通常)masterのファイルを復元します。
逆に,元がbareリポジトリでなく複製先をbareリポジトリにする場合,管理に必要なファイル(.gitディレクトリの下)のみを複製します。


そもそも比較するのが間違いと言えるくらいの違いがあります。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 「Windows Subsystem of LINUX」の並行性?
返信数: 6
閲覧数: 1916

Re: 「Windows Subsystem of LINUX」の並行性?

御免なさい、気になるのはUbuntuのアプリとWindowsのアプリが 同時に同じファイルをアクセスする場合は大丈夫でしょうか。 大丈夫とは? 同時にファイルを開けるか,という問題であるならば,サブシステムがWindowsだろうがLINUXだろうがファイルを開くときの共有アクセス権に依存します。 そして,通常の組み合わせとしては 読み取りアクセス権かつ読み取り共有 読み書きアクセス権かつ共有無し 書き込みアクセス権かつ共有無し あたりだ思いますが,「同時」のうち実際に最初に開いた条件によって,複数のプロセスがアクセスできるかが決まります。 つまり,「読み取りアクセス権かつ読み取り共有」同士は...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++ TCPの受信ループにつきまして
返信数: 5
閲覧数: 1073

Re: C++ TCPの受信ループにつきまして

私は現在上記の様なコードでTCPの受信ループ処理を書いております。 この方法ではClientの数が1万人や10万人となった時に毎回その人数分ループが走り、非常に宜しくない事となります。 どうにかして必要最小限のRecvを呼びたいと考えておりますが、もし他に良い書き方が御座いましたらご教授頂けますと幸いです。 map<int, int>ということはunix系を利用している前提で良いでしょか。 WindowsだとソケットはSOCKET型を使うので recv(std::pair<int,int>)の内容がよくわかりませんが,unix系だとselectを利用した非ブロッキングI/Oが基本かと。 ディ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: たすけてください
返信数: 3
閲覧数: 10568

Re: たすけてください

コンパイラに通せばすぐにわかりそうですが……。 手元にコンパイラがなくても,標準的な範囲でコードを試す (実行可能) ことがネット上でできたりします。 ideoneでの実行例 prog.c: In function ‘main’: prog.c:6:6: error: lvalue required as left operand of assignment ans%2=judge; ^ prog.c:7:1: warning: suggest parentheses around assignment used as truth value [-Wparentheses] if(judge=...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 名前空間について
返信数: 11
閲覧数: 1710

Re: 名前空間について

inemaruさんの投稿に追加で。 pplx::task<void> Get() という文があるのですが、 これは、 https://msdn.microsoft.com/ja-jp/library/jj987780.aspx の説明を見ますと、 名前空間::型 関数 のような並びになっているのでしょうか? それとも、 名前空間::クラス名<型> 関数 という並びでしょうか? (戻り値の)型 関数名 開き括弧 引数リスト 閉じ括弧 の並びです。 pptx::task<void>が戻り値の型,Getが関数名,引数リストは省略されています。 pptx::task<void>はpptxが名前空間,t...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル名が1,2,3…と増えていくときのファイルパスの指定方法について
返信数: 2
閲覧数: 533

Re: ファイル名が1,2,3…と増えていくときのファイルパスの指定方法について

言語の指定がないですが,CやC++ならばsprintfを使えばよいと思います。
出力先がコンソールではなくcharの配列になっただけで,それ以外はprintfと同じように扱えます。
可能であればsnprintfの方が安全なのでこちらを使った方が良いですが……。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: opencv,c++で楽譜のリアルタイムでの描画
返信数: 3
閲覧数: 952

Re: opencv,c++で楽譜のリアルタイムでの描画

PutNoteに来る値は正しいか printf("status %u (%x) / data1 %u (%x) / data2 %u (%x)\n", status, status, data1, data1, data2, data2); をPutNoteの最初の行に入れて,想定通りの値が来ていることを確かめる。 比較は正しいか printf("index %i\n", index); を131行目のif文の前に入れて,正しいindexが得られているかを確かめる。 あたりを調べてみてはどうでしょうか。 もちろん,IDEやデバッガのブレークポイントとウォッチ機能を使っても構いません。 想定通...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: opencv,c++で楽譜のリアルタイムでの描画
返信数: 3
閲覧数: 952

Re: opencv,c++で楽譜のリアルタイムでの描画

リアルタイムにドラムからメッセージ0x99 0x2B 0x00といった3バイトが送られてきます。 Channel 10でNote Onが流れていきていて,Note Numberは0x2B (=43)と。GMだとLow Tom 1のようですね。 その上で,Note Onを画像として出力している部分を見ると, #define NOTE_OFFSET (12 * 3) //音符表示できる数 if ((status & 0xF0) == 0x90 && ((status & 0x0F) == 9 || data2 != 0x00)) { if (data1 == (0x18 + NOTE_OFFSE...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: Unity?C#? 列挙体
返信数: 2
閲覧数: 663

Re: Unity?C#? 列挙体

C#におけるenumはC++におけるenum classです。 つまり,型自体が名前空間になっています。 それに対して,Cのenumやenum classでないC++のenumは型が名前空間になっていません。 DIRECTION型の値を扱いたいのであれば,DIRECTION型として宣言します。 また,DIRECTIONI型の列挙値は,DIRECTION.DIRECTION_DOWNのように使います。 列挙型 (C# プログラミングガイド) | Microsoft Docs 列挙型 - C#によるプログラミング入門 | ++C++; // 未確認飛行 C C#での名前は,Privateなフィール...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: SourceTree ブランチの共有
返信数: 1
閲覧数: 571

Re: SourceTree ブランチの共有

SourceTree + gitの組み合わせを前提にします。 SourceTree + hgの場合であれば,別の方に譲ります。 まず,gitでの共有にはいくつかの方法があります。 例えば, 中央リポジトリを用意しない場合 お互いに相手のリポジトリをremoteとして登録して,随時fetch・rebaseする。 リモートを適宜mergeする。 中央リポジトリを用意した場合 (gitのみ) 中央リポジトリをremoteとして登録し,確認する人は確認対象の人のリポジトリもremoteとして登録して,随時fetch・rebaseする。 確認する人はリモートブランチを確認し,OKならばmergeする。 ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: DLLを作成しデータ引き渡ししたい
返信数: 2
閲覧数: 720

Re: DLLを作成しデータ引き渡ししたい

基本的にはFindFirstFile/FindNextFileみたいな構造になると思います。
つまり,
  • データは構造体で引き渡し,リクエストする側がメモリを確保する
  • 最初のリクエストでハンドル (ID) を発行し,2回目以降はハンドルを元にデータを渡していく
という構造です。

ただし,そもそもどういう使い方をするのかで,上記が必ずしもよいとは限りません。
アクセス先のテーブルが固定されていないのであれば,列名一覧を取得する関数や列のデータを取得する関数,といった形になるでしょうし,
固定されていてもLONGBLOBなどを相手にするのであれば,専用の関数を用意する必要があると思います。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: WINAPIで、変数も表示できる、文字列表示についての質問
返信数: 2
閲覧数: 828

Re: WINAPIで、変数も表示できる、文字列表示についての質問

なぜ、描画される数値の更新はされないのでしょうか? また、どうすれば描画が更新されるようになりますか? 再描画させれば更新されます。 または,WM_PAINTに頼らずに描画すれば更新されます。 一般的な再描画要求は InvalidateRect(hWnd, NULL, TRUE); UpdateWindow(hWnd); です。 これを行うと,WM_PAINTがメッセージキューに貯まります。 WINAPIとWINSDKの違いは何でしょうか? SDK : Software Development Kit API : Application Programming Interface Windo...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 文字列圧縮処理
返信数: 1
閲覧数: 750

Re: c言語 文字列圧縮処理

なぜ,「作成せよ」と命令する形で書かれているのでしょうか。

また,あなたの質問の内容は何でしょうか。
質問の仕方がわからないのであれば,フォーラムルールに質問をするためのテンプレがありますので,そちらを使ってみてはいかがでしょうか。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++ 基底クラスへのアクセス
返信数: 1
閲覧数: 1217

Re: C++ 基底クラスへのアクセス

protected継承しているのであれば,
  • 継承したクラス
  • 継承したクラスを継承しているクラス
のメンバ関数内からのみ基底クラスにキャストできます。
別のクラスのメンバ関数だったり,非メンバ関数でキャストしようとしていませんか。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクトへの代入について
返信数: 1
閲覧数: 554

Re: オブジェクトへの代入について

7行目にあるような,引数が1つだけのコンストラクタは,explicitとして宣言されていない限り,暗黙の変換に使われます。 なお,この「引数が1つだけのコンストラクタ」には,省略可能な引数を持っており,1個だけの引数を与えることができるようなコンストラクタを含みます。 class Foo { public: Foo (int x, int y = 0); }; とか class Bar { public: Bar (int x = 0, int y = 0, int z = 0); }; とか。 今回の場合,16行目の代入においては 左辺がSample型 右辺がint型 であるため型が一致せず...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイル時の構造体宣言
返信数: 6
閲覧数: 5139

Re: 分割コンパイル時の構造体宣言

#defineによって定義されたシンボルは,コンパイルするソースファイルひとつの単位でのみ有効です。 コンパイラの引数に複数のソースファイルを書いても,基本的にコンパイラは個々にコンパイルを行います。 このため,#defineの定義は同時にコンパイラに渡された他のソースファイルの影響を受けません。 インクルードガードは,1つのソースファイルから,同一のファイルが(直接・間接問わず)複数回インクルードされた場合にエラーにならないようにする物です。 極端な例だと #include "setdata.h" #include "setdata.h" ですが,こういうことはまず起こりません。 実際にある...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイル時の構造体宣言
返信数: 6
閲覧数: 5139

Re: 分割コンパイル時の構造体宣言

分割コンパイルの時、双方のファイルで同じ構造体をを使いたい場合は、どうすれば良いでしょうか? そのような場合,通常はヘッダファイルを使います。 例えば,こんな感じで。 setdata.h #ifndef SETDATA_H_ #define SETDATA_H_ // 構造体の定義なので,インクルードガードが必要。 struct setdata{ int value; int pos; }; #endif a.cpp #include "setdata.h" setdata current[] = { {20, 0}, {30, 5}, {50, 9} }; b.cpp #include "...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: シンクライアント シリアル通信
返信数: 1
閲覧数: 494

Re: シンクライアント シリアル通信

そういうようなクライアントを用意して,そのクライアントを「シンクライアント」と呼称すれば不可能ではないでしょう。

ただ,通常シンクライアントというのはサーバー側で処理を行い,クライアントは単なる画面の入出力を転送するだけ,という構成を指します。
このため,クライアント側でシリアル通信というような独自の処理を必要とするようなことは,一般的な「シンクライアント」の定義から外れます。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: nullptrチェックについて
返信数: 9
閲覧数: 1552

Re: nullptrチェックについて

一応,nullptrチェックをしない,nullptrだった場合の挙動は一意に定められる,という条件下において,Null-Objectパターンというものがあります。
ただし,
  • 仮想関数を利用するため,速度的な効率を求める場合に非null側の呼び出しが多いと逆に不利になること
  • nullptrの代わりにnull objectを使うことを必須とする必要があること
  • 必ずしも目的となる挙動の一意性を保証できるとは限らないこと
が問題点でしょうか。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 関数が終了しても関数内で呼び出したスレッドを止めない方法
返信数: 1
閲覧数: 564

Re: 関数が終了しても関数内で呼び出したスレッドを止めない方法

普通,スレッドを作成した関数が終了したところでスレッドの実行は終了しません。
どのような方法で,スレッドを生成し,終了したことを確認しているのでしょうか。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: vectorを呼ぶ方法
返信数: 2
閲覧数: 619

Re: vectorを呼ぶ方法

メソッドの引数で参照渡しにしたり,名前空間に属する変数ならexternで宣言するとか。
std::vector<int>だろうがintだろうが,基本的に他からの使い方は変わりません。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: ビットフィールド
返信数: 1
閲覧数: 600

Re: ビットフィールド

C/C++の規格上,ビットフィールドは構造体 (クラス) の中でしか定義できません。
なので,コンパイラがそれを許すような独自の拡張をしていない限り,やりたいことを実現する方法は存在しません。
オフトピック
C++かつ固定長ならstd::bitsetを使えばいいのでは,という話になりそうですが。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: 【PHP, MySQL】日本語をデータベース格納する時に文字化けが起こる
返信数: 5
閲覧数: 2734

Re: 【PHP, MySQL】日本語をデータベース格納する時に文字化けが起こる

mysqli::set_charset を呼んでみてください。 対になる, mysqli::get_charset で現在のキャラセットを取得できるようです。 # 普段PDOしか使わないので。 ・my.iniの場所(そもそも在るのか?) とりあえず,CentOS 6や7に MySQLの公式Yum Repository のrpmを使ってMySQLを入れた場合,/etc/my.cnfが設定ファイルになります。 # CentOS 6のBaseに入っているMySQLでも同じ。 サーバーはさくらVPSを利用しています. さくらVPSとだけ書かれても,OSなどの情報がわかりません。 CentOSなどのL...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: Excelデータベースについて
返信数: 3
閲覧数: 1263

Re: Excelデータベースについて

1)sqliteと比較し、何が利点なのでしょうか。 既存のExcelファイルやCSVファイルをデータベースとして扱うことが出来ます。 2)EXCELファイルとして開き、テーブルを見れるのでしょうか。 見ることが出来ます。 3)紹介されているCのプログラムはどのような環境でコンパイル できるでしょうか。できればLinuxで使いたいと思います。 コンパイル自体は色々な環境で実行できるでしょうが,実質的にはWindows環境でしか実行ができません。 ●データベースファイルはVBのプログラム(ソース無し) から操作しますが、何故か、EXCEL.exe自体もプログラム と一緒に配布(会社内だから良い?...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: c++でif文が省略された(?)引数
返信数: 5
閲覧数: 1493

Re: c++でif文が省略された(?)引数

ifが省略されたわけではないです。 bool型に|演算子を使うのは珍しいですが……。 |演算子 : 式「(b == 0) | (b == 3)」は式「(b == 0)」の結果と式「(b == 3)」の結果のビットごとの論理和を計算します。 ==演算子 : 式「b == 0」はbが0に等しければtrueを,そうでなければfalseを式の値にします。 ==演算子 : 式「b == 3」はbが3に等しければtrueを,そうでなければfalseを式の値にします。 さて,面倒なことに|演算子を使っているため,|演算子の両辺がint型に変換されます。 この時,trueは1に,falseは0になります。 そ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: config.exeの作り方
返信数: 9
閲覧数: 2622

Re: config.exeの作り方

[ルーラーとガイド]では無く[グリッド]にしたら,位置がグリッドに合いませんか。
対象のダイアログを表示した状態で,標準の[ダイアログ エディター]ツールバーにある[グリッドの切り替え]の他,[書式] - [ガイドの設定]から[グリッド]を選択するとできるかと思いますが。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: [C#]データバインディングについて
返信数: 17
閲覧数: 2681

Re: [C#]データバインディングについて

this.バインドするクラスBindingSource.DataSource = new バインドするクラス(); として、バインドするインスタンスを作成していますが、このインスタンスへどうやってアクセスしたらいいんでしょうか?this.バインドするクラスBindingSource.DataSource.としても何もメンバーとかが出てきません。 上記のコードでは、単純にバインドするだけです。 DataSourceプロパティ はobject型なので,object型にないメンバーへはキャスト無しにアクセスすることは出来ません。 バインドするクラスのインスタンスを別途newし,それをprivate...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: ドット演算子とアロー演算子
返信数: 5
閲覧数: 2940

Re: ドット演算子とアロー演算子

また、この場合はアロー演算子で、この場合はどっと演算子でやると良い。などわかりやすい例えってあげられませんか><; . と -> は直接置き換えられる物ではありません。 struct struct_t { int member; }; という型があった場合に, struct struct_t obj; と宣言された変数objのメンバーmemberにアクセスしたい場合は . を使う。 int value = obj.member; obj.member = 10; struct struct_t * ptr; と宣言された変数ptrのメンバーmemberにアクセスしたい場合は -> を使う。 ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: Winapi32、Tridetを用いたブラウザを作りたい
返信数: 2
閲覧数: 733

Re: Winapi32、Tridetを用いたブラウザを作りたい

WebBrowserはOLE技術を使って処理することになります。 IOleClientSite と IOleInPlaceSite と IStorage を実装したクラスを用意すれば,使えるようです。 通常のCOMとして使おうとすると,HWNDの取得ができずに失敗する……というか失敗しました。 Embedded WebBrowser (IWebBrowser2) in Pure C++ (no MFC, etc) - CodeProject ここからサンプルがダウンロードできます。 面倒なのか,MFC/ATLを使わないWebBrowserのサンプルコードはなかなか見つかりませんでした。 MSD...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: データベースで、親子のようで同一のリーレーションの表現の仕方
返信数: 6
閲覧数: 1314

Re: データベースで、親子のようで同一のリーレーションの表現の仕方

解決していますが,別の考え方を。 「品目」とその「バリエーション」という考え方でメニューを構成する,という方法があります。 この方法だと,「特盛りカツ丼」を追加してもテーブル構造を変更する必用がありません。 ただ,品目とバリエーションの組み合わせでメニューの名前と値段が変わるので,本来であれば交差テーブルになるテーブルがメニューそのものになります。 CREATE TABLE item ( item_id INTEGER PRIMARY KEY, item_name TEXT NOT NULL ); CREATE TABLE variation ( variation_id INTEGER PR...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: config.exeの作り方
返信数: 9
閲覧数: 2622

Re: config.exeの作り方

Win32 Applicationとして作成し,ダイアログリソースを追加して表示する項目を作成,
DialogBox functionを呼び出してダイアログを表示,というのが簡単かと思います。

項目の数によってはPropertySheet functionの方がよいかもしれません。
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウにマウスイベントを送りたい
返信数: 3
閲覧数: 822

Re: ウィンドウにマウスイベントを送りたい

試していないですが,WM_LBUTTONDOWNWM_LBUTTONUPをウィンドウに投げてみてはどうでしょうか。
ref) BM_CLICK message
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: プラットホーム
返信数: 4
閲覧数: 806

Re: プラットホーム

処理の速度の差が出る場合もありますが,大きいのは利用可能なメモリの大きさです。 x86は32bit用の実行ファイルを生成するため,32bit環境でも64bit環境でも実行できますが,メモリは最大4GiB (実際のユーザーメモリ空間は2GiB未満) しか扱えません。 x64は64bit用の実行ファイルを生成するため,32bit環境では実行できず64bit環境のみで実行できますが,メモリは最大16EiB (実際はOSに依存,Windows 2016の場合は24TiB) まで扱えます。 動画編集ソフトなど,大量のメモリを必要とする場合などには,x64用のバイナリを作るとプログラムが簡単になる場合があ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: C#でテトリス作成中です。Application.Runとは一体?
返信数: 4
閲覧数: 1494

Re: C#でテトリス作成中です。Application.Runとは一体?

普通,Application.Runはデフォルトで作られるProgram.csの中に置いたまま使います。 今回のように,Form派生クラスの,それもインスタンスメソッドに書くことはまず行いません。 で,Application.Runは実質的にはメッセージループを回します。 MSG msg; BOOL result; while ((result = GetMessage(&msg, NULL, 0, 0)) != FALSE && result != -1) { TranslateMessage(&msg); DispatchMessage(&msg); } に相当する物です。 実際には,メッ...
by YuO
2年前
フォーラム: C言語何でも質問掲示板
トピック: obj ----> lib ?
返信数: 11
閲覧数: 1244

Re: obj ----> lib ?

VS 2015だと,
[スタートメニュー] - [Visual Studio 2015] - [開発者コマンドプロンプト for VS2015]
がVS 2017の
[スタートメニュー] - [Visual Studio 2017] - [Develper Command Prompt for 2017]
に相当します。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: 選択ソートについての質問です。
返信数: 6
閲覧数: 1727

Re: 選択ソートについての質問です。

この選択ソート問題のソースコードを書いていたのですがどうにもエラーが消えません・・。 解決策を教えてください! エラーがコンパイル時やリンク時のエラーであるならば: エラーについて,マニュアル等をとにかく調べる。 原因を特定する。 プログラムを修正する。 エラーが実行時のエラーであるならば エラーについて,マニュアル等をとにかく調べる。 デバッガ等を使って,エラーの箇所を絞り込む。 デバッガ等を使って,原因を特定する。 プログラムを修正する。 解決「方法」です。1回で解決できなければ複数回行えばいいだけです。 汎用の解決方法です。このサイズのプログラムなら机上で追えばだいたい問題点はわかりま...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: VC++ CLR で 静的フィールドに Stopwatch を定義したい(改)
返信数: 7
閲覧数: 1643

Re: VC++ CLR で 静的フィールドに Stopwatch を定義したい(改)

やりたい事は hファイルでもcppファイルでも Stopwatchを使えるようにしたいです。 シングルトンクラスがStopwatchを持つなり,Stopwatchの静的フィールドを持つクラスを作ればよいです。 #pragma endregion//この直下に定義 Stopwatch^sw = gcnew Stopwatch();//ここに記述 この位置は,クラスの定義の内部ではないですか。 とりあえず,設計から見直すことをお薦めしますし,そもそもC++/CLIはC++ではないので, ネイティブのC++のプログラムを作りたいのであれば,C++/CLIではなくC++を使う CLIの世界のプログラ...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: [python]ボウリングのスコア計算の連続ストライクでエラーが出る。
返信数: 7
閲覧数: 1401

Re: [python]ボウリングのスコア計算の連続ストライクでエラーが出る。

原因は何なのでしょうか? エラーメッセージにちゃんとあります。 File "C:/Users/keito940/PycharmProjects/BowlingScore/Bowling.py", line 7, in BowlScore total = ((pin[i])+(pin[i+1])+(pin[i+2])) IndexError: list index out of range このまんまでしょう。 最終フレームを認識して,最終フレームにストライクまたはスペアだった場合は特別扱いしないといけないのに,それがなされていません。 まぁ,そもそもストライクが1投あると色々おかしくなりそう...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: 外部DLLの参照について
返信数: 8
閲覧数: 3726

Re: 外部DLLの参照について

Win32 DLLを利用するには,DLLを直接参照するのでは無く,インポートライブラリと呼ばれるライブラリをリンクします。
DLLをビルドすると,同時に作成される他,libコマンドに/defパラメータ(と.DEFファイル)を渡してインポートライブラリを作成することもできます。

同一ソリューションにDLLのプロジェクトが存在する場合には,参照で可能なようですが。これは特殊な例だと考えた方がよいでしょう。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: visual studio が使えません
返信数: 3
閲覧数: 1861

Re: visual studio が使えません

ライセンス:試用期間延長(評価目的に限ります) この製品は次の方にライセンスされています: (メールアドレス)~ Profile 評価期間は終了しました。 ⚠延長した評価期間が終了しました。オンライン アカウントまたはプロダクトキーを使用してライセンスを取得します。 Visual Studio ProfessionalかVisual Studio Enterpriseの無料試用版を利用しているのでしょうか。 ダウンロードのページ の記述を見ればわかるとおり,これらは「無料試用版」です。 製品版を購入するにあたってのお試しとして使うものであって,製品版の購入無しに使い続けることが出来るものでは...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++のデストラクタとコンストラクタについて
返信数: 1
閲覧数: 449

Re: C++のデストラクタとコンストラクタについて

下記認識正しいかどうかお尋ねします。 なので,「認識が正しいかどうか」を訊ねられているものと考えます。 1.子クラスの某constructorの引数リストと親クラスの某constructorの引数リストがまったく同じであれば、”:”で親のconstructorをコールする必要はなく、 自動的に親のそのconstructorをコール直前に先にコールされる。 正しくないです。 根拠:ちょっと古いですがISO/IEC 14882:2011 12.6.2 Initializing bases and members / Paragraph 8。 12.9にInheriting constructor...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: メモリ解放に制限?
返信数: 9
閲覧数: 2155

Re: メモリ解放に制限?

あるライブラリ(Opencv)の某クラス(Mat)のobject中のデータpointer (uchar* data)を外部からfreeを使って解放しようとしたら、いつも例外を起こします。 C/C++のライブラリは自分がどこにメモリを割り当てたかを知っていることができます。 そして,aligned_alloc, calloc, malloc, reallocで返されたポインタ (free/reallocで解放されたものを除く) 以外をfreeに渡した場合は未定義の振る舞いとなっていますから (C11の場合。7.22.3.3), 「自分が割り当てて返したのでは無いポインタ」を検出し,何らかの例外...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: 標準出力出来ず セグメントエラー
返信数: 4
閲覧数: 838

Re: 標準出力出来ず セグメントエラー

for文から出た後,i == Nになっています。
その後のscanfで,str1,つまりはstr1[N]にアクセスしようとしています。
str1はN個の要素しかないので,str1[N]へのアクセスはしてはいけません。
オフトピック
デバッガ使って一行ずつ実行すればすぐわかると思うのですが……。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: ダウンロードしたソリューションのエラーが取れなくて困っています。
返信数: 10
閲覧数: 2013

Re: ダウンロードしたソリューションのエラーが取れなくて困っています。

とりあえず, This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. と「NuGetパッケージの復元を有効にしろ」と書いてあるのだから,それをしてみてはどうでしょうか。 [ソリューション エクスプローラー]でソリューションを選択してコンテキストメニューから[NuGet パッケージの復元]を選択することで,手動での復元が出来るはずです。 また,[ツール] - [オプション] - [NuGet パッケージ マネ...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: DLL化の単位問題
返信数: 2
閲覧数: 474

Re: DLL化の単位問題

決まった単位というのはないのですが,密接に関わるものは通常一つのDLLにまとめます。 わかりやすそうな方法としては,「これはどういうDLLですか」に対して一つの答えになる間は同じDLLに含める,というのがあるかと思います。 「○○と××するDLL」ならば,「○○するDLL」と「××するDLL」に分けた方が使いやすいですし, 「○○するDLL。ただし,△△.dllが必要」というような場合で,「△△.dll」の役割が「○○で使っていた中で他から使えそうなものを分離しただけ」ならまとめた方がよいでしょう。 まぁ,例外的に実装を選択するためだったり(利用するデータベースによって実装が変わる等),プラグ...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: GUI作成方法について
返信数: 3
閲覧数: 840

Re: GUI作成方法について

VC++という条件であれば,この内容だとDIALOGリソースにボタンを作って,DialogBoxで呼び出して処理するのが簡単な気がします。
この場合だと,必要なのはWin32API (一般的なもの + Media Foundation, Direct Show etc.) の内容になります。
なお,C++/CLIを用いてのWindows Formsはお薦めしません。C++/CLIでWindows Forms使うくらいなら,素直にC#やVisual Basicを使う事をお勧めします。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: フォームアプリケーションについて
返信数: 11
閲覧数: 3067

Re: フォームアプリケーションについて

ttb さんが書きました:実際の例外の確認はどのように行えばよいのでしょうか?
デバッグ実行すれば,未処理の例外であるTypeInitializationExceptionが発生した時点で実行が中断されます。
あとは,その時に自動変数あたりに発生した例外が表示されているはずなので,そのプロパティを読んでいけばよいです。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: フォームアプリケーションについて
返信数: 11
閲覧数: 3067

Re: フォームアプリケーションについて

Cannot find or open the PDB fileという文が多く見受けられえるのですがやはりこれが原因なのでしょうか? PDBはデバッグ用の情報ファイルです。 なので,これがないから動作しない,というようなことはありません。 'System.TypeInitializationException' のハンドルされていない例外が 不明なモジュールです。 で発生しました。 追加情報: '<Module>' のタイプ初期化子が例外をスローしました。 これは,CLI上のコードにおいて,クラスの静的なコンストラクタ (..ctor static method) が例外を発生させた場合に起...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: send関数でのackのみ送信方法についてご教授ください
返信数: 2
閲覧数: 1018

Re: send関数でのackのみ送信方法についてご教授ください

どこの層の話をしているのでしょうか。
  • TCP層(やそれ以下の層)でのACKの話をしているのであれば,自前でTCP(やそれ以下の層)のドライバーを作っている場合を除いて,上位層はTCP(やそれ以下の層)がACKを返したとか知る必要が無いですし,それに依存するプロトコルを作ってはいけません。
  • アプリケーション層の話であれば,普通にsendを使ってACKを送ればよいでしょう。ACKだけを送る方法が無いのであれば,プロトコルの不備になります。ただし,Nagleアルゴリズム等によって,1 octetだけ等の小さな情報の送信は送信自体が遅延される可能性があります。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: マクロについて
返信数: 2
閲覧数: 674

Re: マクロについて

関数形式マクロは,根本的には単純な文字列置き換えでしかありません。 書かれているコードの,min3のみ展開すると, #include <stdio.h> int main(void){ int result1,result2,result3; result1 = { if(((2) < (1)) && ((2) < (3))){ return(2); }else if(((3) < (1)) && ((3) < (2))){ return (3); }else{ return (1); } }; result2 = { if(((1) < (2)) && ((1) < (3))){ retur...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listをメンバにもつクラスを削除しようとするときに例外が投げられる問題
返信数: 5
閲覧数: 1729

Re: std::listをメンバにもつクラスを削除しようとするときに例外が投げられる問題

さらに見てみましたが,deleteした後にそのオブジェクト(の残骸)に触ろうとしていますが,これは何故ですか。
deleteした後(明示的なデストラクタの呼び出しでも同じですが)に,そのオブジェクト(の残骸)へアクセスすることは未定義の振る舞いとなっています。
オフトピック
いくつかの例外はあります。ISO/IEC 14882:2011だと3.8の5段落など。
そもそも,Manager::enemyはEnemy * []ではなく,std::vector<Enemy>やstd::vector<std::shared_ptr<Enemy>>で十分ではないでしょうか。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語のheaderファイルについて
返信数: 3
閲覧数: 799

Re: C++言語のheaderファイルについて

ちゃんと調べ直したところ,ちょっと古いですが, 11 Member access control - 11.1 Access specifiers 2 The order of allocation of data members with separate access-specifier labels is unspecified という記述がありました。 これを勘違いしていたようです。 ただ,割り当て順が変わればパディングが変わる可能性があるため,クラスのサイズが変化する可能性は十分あり得ます。 もし,目的がクラスの実装を見せたくない,やヘッダファイルの参照が深くなることが問題,といった...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C#で以下のようなエラーが出るのですが対象方法をおしえてください。
返信数: 2
閲覧数: 2048

Re: C#で以下のようなエラーが出るのですが対象方法をおしえてください。

非標準のライブラリが関係するならば,そのライブラリの名前と,そのライブラリの公式サイトへのリンクくらいは張って欲しいのですが……。 とりあえず, The MapWindow project と仮定 今回の場合, sf.Lbaels.FontColor プロパティはuint型であるため, System.Dawing.Color から直接は変換できないためにエラーになっています。 ToArgb メソッドでARGBの値を取得し,Aの値を抜くために0x00FFFFFFと論理積と取って代入すればよいでしょう。 sf.Labels.FontColor = (uint)(Color.Red.ToArgb()...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: std::listをメンバにもつクラスを削除しようとするときに例外が投げられる問題
返信数: 5
閲覧数: 1729

Re: std::listをメンバにもつクラスを削除しようとするときに例外が投げられる問題

例外を出すdeleteの上にある,明示的なデストラクタの呼び出しは何のために行っていますか。
明示的なデストラクタの呼び出しは,通常必要になることはありません。

あと,例外が発生するではなく,その例外の種類やメッセージも書いてください。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: [VS2017]クラスウィザードの使い方
返信数: 4
閲覧数: 1511

Re: [VS2017]クラスウィザードの使い方

クラスウィザードの出自から,基本的にはMFC用のものです。
その機能の一部が,MFCでなくても使える,といった程度のもので,期待しているようなことはできないかと。
オフトピック
MSDN見ると仮想関数のオーバーライドはClassView + Propertyでできそうですが,実際にはできません
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語のheaderファイルについて
返信数: 3
閲覧数: 799

Re: C++言語のheaderファイルについて

ヘッダーファイルを同一にする必要は無いですが,クラスの構造は同じにする必用があります。
クラスの構造とは,基底クラスの宣言の順序,メンバ変数の宣言の順序、仮想関数の宣言の順序などです。
public/protected/privateの順序を入れ替える,などもやってはいけません。

現実的な問題点としては,クラスの宣言を元にコンパイラは必要なメモリの量を決定するため,private変数を削るとコンパイラはメモリの量を少なく見積もってしまう,ということがあります。
結果として,変数へのアクセスが確保していないメモリへのアクセスになる可能性がでてきます。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C#+DxLibでUTF-16の文字を表示したい
返信数: 4
閲覧数: 1128

Re: C#+DxLibでUTF-16の文字を表示したい

DxLib公式サイトで配布されているライブラリは,Unicode版ではない実装になっています。 int __stdcall dx_SetWindowText( const char * WindowText) { return SetWindowText( WindowText); } このため,現在のコードページに存在しない文字を利用する事は出来ません。 DxLibの実装自体を見ると,Unicodeでビルドも可能なはずなので,Unicodeビルド + Unicode用DLL, という構成を自分でビルドしてしまえば,現在のコードページに含まれない文字も(フォントがあれば)出力できると思います。...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: 早急にお願いします。
返信数: 11
閲覧数: 2390

Re: 早急にお願いします。

「何が」分からなくて「何を」よろしくお願いしているのでしょうか。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: エラーの原因
返信数: 31
閲覧数: 8210

Re: エラーの原因

普通,現在の開発環境においてはソースレベルデバッガは用意されていると思いますし,デバッガにはブレイクポイントやソースシンボルを使ったウォッチ機能がついていると思いますが……。
この規模であれば,一行ずつステップ実行して変数の値が正しいかを調べていけば,どこで想定している状態になっていないかの絞り込みができると思うのですが。
# 想定している状態が無いというのは,そもそも「どうなるかがわかっていない」状態なので問題外。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: あらゆる型のリストを受け取る関数を作りたい
返信数: 2
閲覧数: 830

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
3年前
フォーラム: C言語何でも質問掲示板
トピック: VBからC#への移行について
返信数: 4
閲覧数: 1491

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
3年前
フォーラム: C言語何でも質問掲示板
トピック: VBからC#への移行について
返信数: 4
閲覧数: 1491

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

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

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

Re: calloc + strcpyについて

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

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

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

Re: calloc + strcpyについて

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

Re: 乱数の解読

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

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

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

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
3年前
フォーラム: C言語何でも質問掲示板
トピック: マップ表示プログラムのデバック中に例外がスローされた。
返信数: 15
閲覧数: 4930

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

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

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

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

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

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

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

Re: LNK2005エラーが出た。

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

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

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

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

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

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

どうもkeito940です。Platinumというマップエディターを使って、アクションゲームのためにマップを読み出すプログラムを作ってそれをコンパイルしようとしたところ、main.cppで何故か「C2512 'CCharMoveAndMap': クラス、構造体、共用体に既定のコンストラクターがありません。」と出ました。 コンパイルエラーであれば,ファイル名と同時に行数も書かれているはずですが。 ざっと見た感じでの問題となりそうな箇所は, Main.cpp #include "Main.h" #include "Player.h" #include "CharMove.h" int Time;...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++でUTF-8
返信数: 3
閲覧数: 2635

Re: C++でUTF-8

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

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

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

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

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

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

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

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

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

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

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
3年前
フォーラム: C言語何でも質問掲示板
トピック: javaでフィールド領域で処理を実装する方法ってありますか?
返信数: 8
閲覧数: 1180

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

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

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

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

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

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

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

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

インターフェース、継承、抽象クラスに関してルールとしてC#とjavaで違いはありますか? 記述方法の違いを除いた場合において, Javaのinterfaceはpublic static finalなフィールドを持てるがC#はフィールドを一切持てない Javaのinterfaceはメソッドのデフォルト実装を持てるがC#は持てない Javaの@Overrideは任意だがC#のoverrideは必須 C#のメソッドに付けるnewに相当するものはJavaには存在しない C#の明示的なインターフェースメソッドの実装に相当するものはJavaには存在しない あたりが大きな違いかな,と思います。 変換プログ...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: OSに依存しないEthernet通信アプリケーション(C言語)
返信数: 6
閲覧数: 1148

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

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

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

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

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

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

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

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

Bitmap上に4角形のオブジェクトを配置するマップエディタを作成しているのですが、 配置したオブジェクトの大きさや座標をNumericUpDownで連続で変更すると例外が発生します。 再描画の度にBitmapを新規作成していることが原因のようなので、 Bitmapを新規作成しないor描画間隔を少なくする といった方法は思いつくのですが、 どうすれば実装できるかがわかりません。どなたかアドバイスをお願いいたします。 例外のメッセージには何と書いてあったのでしょうか。 ArgumentException自体は,例えばnew Bitmap(0, 100)のような値を指定した場合に発生します。 た...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: visualc#のプログラムについて。
返信数: 3
閲覧数: 542

Re: visualc#のプログラムについて。

visualc#のコンソールアプリケーションなのですが、コンソールアプリケーションを選んだあと一番上にusing System;だけ表示する方法ってあるでしょうか?通常試してみるとusing System;usingSystem.Collections. using System.Ling; usingSystem.Text; using System/Threading.Tasks;となってしまいます。 クラスのテンプレートがそのようになっているので,新しくテンプレートを用意しない限り無理です。 # LinqがあるのでSystem.CollectionsではなくSystem.Collect...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: mp4の再生
返信数: 7
閲覧数: 1264

Re: mp4の再生

あまりMP4ファイル形式について詳しくないのですが…… MP3ファイルが特殊な形式なので,あまりMP3ファイルを前提に考えるのはやめた方がよいのですが……。 MP3ファイルは,Mpeg-1 audioのチャンクをそのまま保存した形式です。 後付けで,ID3tagやLame tagというものができていますが,基本的には「生データのみ」のものです。 それに対して,通常のマルチメディアフォーマットは,コンテナであり,「データに関する情報」と「データ」を分離して保存しています。 一般的にPCMのみに使われているWAVEファイルも,RIFFコンテナでfmt チャンクに情報を入れればMpeg-1 aud...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 1868

Re: javafxにて別のAnchorPaneの操作

最初の回答にも書いた通り,JavaFXについては詳しくありませんが,
ビブロ さんが書きました:ここまではこの書き方で合っているでしょうか?
コードの仕組みとしては合っていると思います。

JavaFXの世界における標準的な書き方かどうかはわかりません。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 1868

Re: javafxにて別のAnchorPaneの操作

mainCon#melodycreatewindowの中でcreatemelodyconクラスのインスタンスに対して,自身のインスタンスを渡しておいて createmelodyconクラスのインスタンスに対して,自身のインスタンスを渡すという処理についてなのですが、文章をそのまま起こすと mainConクラスの非staticメソッドの中なのですから,自身のインスタンスはthisです。 newしたものは自身とは異なるインスタンスです。 また,createmelodyconクラスのインスタンスも単純にnewすればよい,というものではないです。 例えば,FXMLLoader#getControll...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: javafxにて別のAnchorPaneの操作
返信数: 15
閲覧数: 1868

Re: javafxにて別のAnchorPaneの操作

JavaFXには詳しくないですが……。 Caused by: java.lang.NullPointerException at application.SampleController.test(MainScreen.java:18) ←textarea.appendText(melody);の所 at application.SampleController2.action(createmelodycon.java:14) ←con.test(textarea.getText());の所 ... 60 more なので,このあたりを探ると,そもそも, public void sendmel...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: 三次元ヤング図形 数え上げ
返信数: 20
閲覧数: 1644

Re: 三次元ヤング図形 数え上げ

https://iwiz-chie.c.yimg.jp/im_siggqlTdVNPl6suKf8zox10pbQ---x320-y320-exp5m-n1/d/iwiz-chie/que-10169092270 ] この一番左上,[5 1/1]の例について, a[1][1] = 5 a[1][2] = 1 a[2][1] = 1 だと思うのですが,a[1][2] > a[1][3] ≧ 1を満たしません。 任意のi, jに対して,a [j] ≧ 1かつa [j] > a [j + 1]だから,a [j] > [j + 1] ≧ 1。 i = 1, j = 2とすると,上記の式が出る。 これ...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: 三次元ヤング図形 数え上げ
返信数: 20
閲覧数: 1644

Re: 三次元ヤング図形 数え上げ

iとjの範囲に制限はないのでしょうか。
iとjに範囲があればa[j]は有限の値におさめる事ができますが,iとjに範囲がなければ,a[j]は無限を取り扱って処理しなければならなくなります。
# a[j]は整数と想定すると正の無限大に発散ですが。

問題文自体について(特に数式部分),もう少し正確に記述してみてはいかがでしょうか。
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++における自己参照的なクラスに関して
返信数: 2
閲覧数: 955

Re: c++における自己参照的なクラスに関して

しかし、このDimClassをこう変更するとコンパイルエラーになります。 確かにこのクラスはポインタの自己参照?を行ってはいるのですが、一定の値で止まるようにはなっています。 c++において、このようなことは不可能なのでしょうか。 メンバ変数で使われているため,newするかどうかに関わらずDimClass<T*>はインスタンス化されます。 このため,コンパイラはDimClass<int>からDimClass<int *>, DimClass<int **>……と無限に作ろうとして,当然ながら限界になってエラーになります。 このような場合は,テンプレートの部分特殊化を使うのが一般的かと思います...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C#の疑問がいっぱい
返信数: 41
閲覧数: 7621

Re: C#の疑問がいっぱい

Timer t = new Timer(); たったこの一行で エラー 1 'System.Threading.Timer' に、引数を 0 個指定できるコンストラクターがありません。 が出てきました。何故でしょう? 書いてあるとおり, System.Threading.Timerクラスのコンストラクタ には,引数が0個のものがないからです。 少なくとも,時間が経った時に呼ばれるコールバックデリゲートが引数として必要です。 TimerクラスってC#2つありますよね? どっち使ったらいいですか? Timerクラスは2つではないです……。 とりあえずですが,基本的には WinFormsであれば,...
by YuO
3年前
フォーラム: C言語何でも質問掲示板
トピック: C#の疑問がいっぱい
返信数: 41
閲覧数: 7621

Re: C#の疑問がいっぱい

・入出力がStreamでしかできないAPIってDataobjectの事ですか? いいえ。 世の中にはバイナリデータを処理する場合に,引数としてbyte[]やIEnumerable<byte>などを受け付けず,Streamしか引数としてとらないAPIが存在します。 別途得られたbyte[]データをそのようなAPIに渡す時などに,MemoryStreamでラップします。 e.g.) XmlReader.Create メソッド そもそも,Dataobjectというクラス・メソッド・プロパティ等は.NET Frameworkクラスライブラリには存在しません。 System.Windows.Forms...

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