0
C++ CLI (.NET)에서 (C#에서) 관리 정적 클래스를 호출 (settings.dll).<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, yes, "settings"는 네임 스페이스이지만 "컴파일러가 game_id가 의미하는 바를 아직 모르는 것 같습니다." – ekremer
C++은 싱글 패스 컴파일 모델을 사용합니다. 정의 앞에 항상 선언이 나타나야합니다 C++과 매우 다른데 C++에 대한 실제 지식이 있으면 올바른 C++/CLI 코드를 작성하는 데 매우 중요하며 SO 응답을 얻는 데 중요한 코드를 게시하는 것이 중요합니다. 팀 구성원의 도움을받는 것이 좋습니다 –