Mam ++/C Klasa CLI tak:Błąd IntelliSense: odwołanie nie może być powiązane z polem inicjalizacyjnym?
// MyClass.h
#pragma once
namespace MyNamespace {
using namespace System;
public ref class MyClass {
private:
MyClass();
IntPtr m_ptr;
};
}
// MyClass.cpp
#include "MyClass.h"
using namespace System;
namespace MyNamespace {
MyClass::MyClass() {
m_ptr = IntPtr::Zero;
}
}
Projekt kompiluje bez błędów lub ostrzeżeń, jednak linia m_ptr = IntPtr::Zero
zawsze podkreślone czerwonym z błędem IntelliSense: „odwołanie nie może być związana z polem initonly ". Co daje? Jak mogę się tego pozbyć?
Jest to w Visual Studio 2012 Premium Edition, ale zestaw narzędzi platformy to Visual Studio 2008 (wersja 90).
Czy pola wskaźnikowe (nie IntPtr, prawdziwe wskaźniki) również są inicjowane zerownikiem? – Asik
Tak, nie są w tym względzie wyjątkowe. –