다음을 통해 공유


컴파일러 경고(수준 1) C4397

DefaultCharSetAttribute가 무시됩니다.

DefaultCharSetAttribute 는 Microsoft C++ 컴파일러에서 무시됩니다. DLL에 대한 문자 집합을 지정하려면 DllImport의 CharSet 옵션을 사용합니다. 자세한 내용은 C++ Interop 사용(암시적 PInvoke)을 참조하세요.

예시

다음 샘플에서는 C4397을 생성합니다.

// C4397.cpp
// compile with: /W1 /c /clr
using namespace System;
using namespace System::Runtime::InteropServices;

[module:DefaultCharSetAttribute(CharSet::Unicode)];   // C4397

[DllImport("kernel32", EntryPoint="CloseHandle", CharSet=CharSet::Unicode)]   // OK
extern "C" bool ImportDefault(IntPtr hObject);

public ref class MySettingVC {
public:
   void method() {
      ImportDefault(IntPtr::Zero);
   }
};

[StructLayout(LayoutKind::Explicit)]
public ref struct StructDefault1{};

public ref class ClassDefault1{};