0
C++ CLI(.NET)から(C#で)管理静的クラスを呼び出します( settings.dll)。しかし、私は(CLRサポート付き)、このコードをビルドすると、次のエラーがスローされます。<strong>C#</strong>にDLLを使用してプロパティ(MAGIC_SEA)を初期化私は<strong>C++ CLI</strong>(Game.h)のヘッダファイルが
Error 3 error C3083: 'game_id': the symbol to the left of a '::' must be a type c:\users\ed\projectS\Game.h
Error 4 error C2039: 'MAGIC_SEA' : is not a member of 'settings' c:\users\ed\ed\ProjectSl\Game.h
Game.h
...
using namespace settings;
...
const short MAGIC_SEA = settings::game_id::MAGIC_SEA;
...
settings.dll
using System;
using System.Collections.Generic;
using System.Text;
using System.Resources;
using System.Collections;
using System.ComponentModel;
using System.Management;
using System.Management.Instrumentation;
namespace settings {
...
public static class game_id {
public const short MAGIC_SEA = 1;
...
}
}
コンパイルエラーは、「設定」、かなり平易である名前空間名、ないタイプ名です。だから、コンパイラは "game_id"の意味をまだ知りません。静的クラスとは、推測が困難なことです。有効なC++/CLIコードとは関係ありません。変数宣言は常にrefクラスの中に現れなければなりません。constに相当するのは 'literal'です。 –
Hans、はい、 "settings"は名前空間ですが、 "コンパイラはgame_idが何を意味するのかまだ分かりません。" – ekremer
C++はシングルパスコンパイルモデルを使用しています。これはC#とはまったく異なります。正しいC++/CLIコードを記述するためには、C++の実用的な知識があることが非常に重要であり、SOの答えを得るためには重要なコードを投稿することが重要です。 –