C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C++/CLI でのインデクサについて


(過去ログ 44 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■23483 / inTopicNo.1)  C++/CLI でのインデクサについて
  
□投稿者/ 雲 (5回)-(2008/08/16(Sat) 13:51:11)

分類:[C++/CLI] 

現在、VisualStudio2005 を使って C++/CLI でインデクサを作っていたのですが、一つわからないことがあります。
普通、インデクサは、

public ref class TEST{
public:
property int default[int]{
int get( int i ){ return( i ); }
}
};

のように default を付けて作れると思うのですが、ライブラリ(dll)として作成して、他のプロジェクトから参照設定で
このインデクサを使おうとすると、

error C3767: 'default::get': 候補の関数はアクセス可能ではありません
error C2660: 'default::get' : 関数に 0 個の引数を指定できません

というエラーが出てしまいます。

ただ、よくわからないことに、普通の propery は、他のプロジェクトからでも正しく使えるのです。
(何故に、インデクサだけダメ?)

最悪、関数で逃げれるけど、何とかインデクサを使えるようにはならないのかなぁ。。。
引用返信 編集キー/
■23484 / inTopicNo.2)  Re[1]: C++/CLI でのインデクサについて
□投稿者/ επιστημη (1246回)-(2008/08/16(Sat) 14:33:52)
επιστημη さんの Web サイト
> ライブラリ(dll)として作成して、他のプロジェクトから参照設定で
> このインデクサを使おうとすると、
>
> error C3767: 'default::get': 候補の関数はアクセス可能ではありません
> error C2660: 'default::get' : 関数に 0 個の引数を指定できません
>
> というエラーが出てしまいます。

VC++2008-SP1 で再現できませんでした。
ちゃんとコンパイルできますし、できたDLLを参照して
C#, C++/CLI から呼び出すことができました。

引用返信 編集キー/
■23486 / inTopicNo.3)  Re[2]: C++/CLI でのインデクサについて
□投稿者/ 雲 (6回)-(2008/08/16(Sat) 17:59:48)
επιστημη さん。

いつもありがとうございます。

> VC++2008-SP1 で再現できませんでした。
> ちゃんとコンパイルできますし、できたDLLを参照して
> C#, C++/CLI から呼び出すことができました。

もしかしてと思って、プロジェクトを作り直して試してみたら、
何故か?うまくいきました。
(うまくいかなかった理由は、よくわかりませんが。。。)

いずれにしても、調査不足でした。済みません。

# というか、気がつけよ。。。> 自分。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -