none
マネージクラスへの相互参照

すべての返信

  • まず、どこから、というのはあんまり意味がありません。ネイティブなクラスはnewでインスタンス生成しますし、マネージなクラスはgcnewでインスタンス生成します。

    ネイティブな関数内でも、ローカル変数として扱ったり、引数や返値としてなら、問題なくgcnewしたりメンバを呼び出したりできます(もちろん、共通言語ランタイムサポートが有効な場合のみですが)。

    gcrootが出てくるのは、ネイティブクラスのメンバ変数としてマネージインスタンスを置く必要があるケースなどです。調べられて何が分からないのか分からないことには助言も難しいですが。

    (3)は、C4430が出てる所からして、その「マネージクラス」というのがその時点で定義されていない(定義されている所が見えていない)のではないでしょうか。#includeが足りないとかで。

    2018年1月17日 10:38
  • こちらもC++/CLIとは無関係でC++言語におけるnamespaceの扱いについて理解することをお勧めします。

    マネージクラス2内でnamespace ○○にアクセスするためには ○○::マネージクラス1 と名前空間を記述するだけのことです。

    2018年1月17日 13:32