ArrayList – プログラミング – Home

通知
すべてクリア

[解決済] ArrayList


美晴
 美晴
(@美晴)
ゲスト
結合: 19年前
投稿: 9
Topic starter  

お世話になります。
ArrayListクラスを利用しようと思っているんですが
fatal error C1190: マネージ対象コードには '#using <mscorlib.dll>' と '/clr' が必要
です。
というエラーが出てしまいます。
私なりに調べてみると「プロジェクトのプロパティで拡張マネージを変更するといい」とあった
ので
早速試してみたんですが、無事DLLも読み込んで名前空間も確保出来たのですが、
肝心のArrayListクラスが使えませんでした。

ArrayList* partsList;//宣言


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

VCのバージョンは?プロジェクトはナニ?
書いたソースを載せてください。


返信引用
美晴
 美晴
(@美晴)
ゲスト
結合: 19年前
投稿: 9
Topic starter  

すみません間違って途中で投稿してしまいました。

ArrayList* partsList; と宣言すると
error C3265: アンマネージ '<不明>' で、マネージ '<不明>' を宣言できません。
というエラーが出てしまいます。
プロジェクトのプロパティの マネージ拡張を「いいえ」から「はい」に変更したのですが
この方法が間違っているのでしょうか?

どうかご指導宜しくお願いします。


返信引用
美晴
 美晴
(@美晴)
ゲスト
結合: 19年前
投稿: 9
Topic starter  

Win2000下で 2003.NET ダイアログベースです。

class ListTest{
protected:
/**部品リスト*/
ArrayList* partsList;
//ここから処理記述予定
}

宣言で行き詰まっているのでソースといってもこんなものしかないです、すみません;


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

ダイアログベースということは
MFCですか?MFCの一部にMC++の機能を入れれるのかなぁ。。。

MFCなら、CArrayとかCListではダメなんでしょうか?
(std::vectorやstd::listでも可能)


返信引用
美晴
 美晴
(@美晴)
ゲスト
結合: 19年前
投稿: 9
Topic starter  

文字列や数値の集まりのオブジェクトをリストに追加していきたいのですが可能でしょうか?
std::list、CListも見てみたのですが1つの変数しか入らない配列のようなものかなと思って
スルーしてました;


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

「managed-classを含むclassはmanagedでなくちゃあかん」
と言うてるのでしょう。

↓コレがmanagedのシルシ
__gc class ListTest{
protected:
System::Collections::ArrayList* partsList;
};


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> 文字列や数値の集まりのオブジェクトをリストに追加していきたいのですが可能でしょうか?

もちろんですとも。

class なにか { ... };

std::list<なにか> なにかの集まり;


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> 「managed-classを含むclassはmanagedでなくちゃあかん」
ということは、MFCダイアログベースのものをすべて
Windowsフォームアプリケーションに書き換えるのか。。。

数値も文字列として登録すればどうでしょうか?
それかバリアント型(みたいなもの)をつかうとか。

CArray< _variant_t, _variant_t > partsList;

とか。

また、リストを複数作って、

CArray< int, int > partsIntList;
CStringArray partsStrList;

で管理クラスで切り分けるインタフェースをつくる。


返信引用
美晴
 美晴
(@美晴)
ゲスト
結合: 19年前
投稿: 9
Topic starter  

>επιστημηさん
std::list<オブジェクトのあるクラス名> リスト名;
という感じでしょうか。

>Blueさん
変数の型を後で変更するということですよね。
まったく思いつきもしませんでした・・・

両方試して、プログラムに合うほうでやってみようと思います。
素早い対応ありがとうございました!


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> 文字列や数値の集まりのオブジェクトをリストに追加
よく読み返したら
これってクラスのことですか?

ただし、CArrayなどを使うと、宣言時にある程度の配列をつくってしまいます。
リストとなるクラスにはデフォルトコンストラクタが必要になります。
(ポインタリストならば要らないけど)


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました