Tôi có một ++/CLI lớp C như thế này:Lỗi IntelliSense: một tham chiếu không thể bị ràng buộc vào trường initonly?
// 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;
}
}
Dự án biên dịch mà không có lỗi hoặc cảnh báo, tuy nhiên dòng m_ptr = IntPtr::Zero
luôn nhấn mạnh màu đỏ với một lỗi IntelliSense: "một tài liệu tham khảo không thể bị ràng buộc vào một lĩnh vực initonly ". Đưa cái gì? Làm thế nào tôi có thể thoát khỏi điều này?
Đây là trong Visual Studio 2012 Premium Edition nhưng Platform Toolset là Visual Studio 2008 (v90).
Trường con trỏ (không phải IntPtr, con trỏ thực) cũng được khởi tạo bằng không? – Asik
Có, chúng không đặc biệt trong vấn đề đó. –