나는 약간의 연구를 수행했지만, 왜 아직도이 오류가 발생했는지에 관해서 당황하고 있습니다. 나는 다음과 같은 속성을 가진 구조체가 :주소를 가져 오거나, 크기를 가져 오거나, 관리되는 유형을 가리키는 포인터를 선언 할 수 없습니다.
struct Account
{
//private attributes
private double mBalance;
private int mAccountNumber;
private string mName;
private string mDateCreated;
}
을하고 다음 작업을 수행하려고 :
class BankManager
{
//private attributes
private unsafe Account *mAccounts;
private unsafe bool *mAccountsAvailable;
private int mNumberAccounts;
}
심지어 클래스의 속성에 대한 "안전하지 않은"사용하여 구조체에 내 수업 계정을 켠 후에 BankManager, 컴파일러가 안전하지 않은 코드를 사용할 수 있습니다 이야기 (속성 -> 빌드), 난 아직도 이유에
*mAccounts
에서 어떤 아이디어이 오류를 받고 있어요? 나는 구조체에서 사용하고있는 모든 타입이 C#에서 포인터를 갖는 것은 합법적이라고 확신한다. 미리 감사드립니다!
왜 포인터를 사용하고 싶습니까? 'BankManager'에는'Account's의'Collection'이있을 것 같습니다. – Xint0
도움이 될 수 있습니다. http://stackoverflow.com/questions/2559384/cannot-take-the-address-of-get-the-size-of-or-declare-a-pointer-to-managed-t – sellmeadog