이 클래스와 구조체가 있고 배열의 모든 구조체가 다른 구조체 (배열의 모든 요소에 연결된 목록 구조체)에 연결되어 있습니다. btw 이것은 내 샘플입니다. 코드는 다른 오류가없는 가정 .. 생성자에서구조체의 배열이 작동하지 않는 것 같습니다.
class DATA;
class myclass
{
public:
myclass();
mystruct* addDATA(DATA *d);
private:
mystruct* array;
};
struct mystruct
{
DATA * data;
mystruct * next ;
};
을 나는,이
mystruct::mystruct()
{
mystruct* array = new mystruct[10];
for(int i = 0; i < 10; i++)
array[i] = NULL;
}
이 예기치 않은 (적어도 나에게) 오류를 제공하려하지 조금이 오류가 말도 안돼, NULL 포인터를 가리키고 있습니다.
no match for ‘operator=’ in ‘*(array + ((unsigned int)(((unsigned int)i) * 8u))) = 0’
또한 시도 할 때;
while(this->array[i] != NULL){
// do some arrangements on the array..
}
이 같은 오류를 제공 .. 왜 보내고 *이 오류를 제공 NULL로 포인터를 일치, 또는 아침부터 그것의 NULL 또는 not..Struggling이하는 *을 찾을 수없는 경우 확인하는 것 해결책 :/ 배열 유형이 "mystruct"이지만 그 밖의 것은 없습니다. 이것이 문제입니까? 아니면 array [i]가 포인터가 아니겠습니까?
값의 배열을 가지고 있고이 값을 포인터로 처리하려고 시도하는 이유는 무엇입니까? 당신의 목표는 무엇입니까? – ildjarn
어떻게이 문제를 해결할 수 있을까요?이 구조체 유형과 클래스를 사용하여 NULL인지 아닌지 확인해야합니다. – Karavana
포인터 만 null 일 수 있습니다. 'mystruct'를 null로 비교한다는 것은 무엇을 의미합니까? – ildjarn