Udostępnij za pomocą


Ostrzeżenie kompilatora (poziom 1) C4397

Atrybut DefaultCharSetAttribute jest ignorowany

Uwagi

DefaultCharSetAttribute program jest ignorowany przez kompilator języka Microsoft C++. Aby określić zestaw znaków dla biblioteki DLL, użyj opcji CharSet dllImport. Aby uzyskać więcej informacji, zobacz Using C++ Interop (Implicit PInvoke) (Używanie międzyoperacyjności języka C++ (niejawna funkcja PInvoke).

Przykład

Poniższy przykład generuje kod 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{};