기본적으로 제목은 무엇입니까? 나는이 생성자와 사용자 정의라는 이름의 클래스 색상이 있습니다C++에서 사용자 정의 클래스의 여러 인스턴스 작성
Color(component_t r, component_t g, component_t b) : r(r), g(g), b(b) {
}
더 클래스 "이미지"내가 일하고 있어요이 이미 보호 값 : 컬러 * 버퍼 나는의 인스턴스와이 버퍼를 채우기 위해 노력하고 있어요 에서 그러나
Color* buffer = new Color[width*height];
float* r = new float[width*height];
float* g = new float[width*height];
float* b = new float[width*height];
int i = 0;
do {
r[i] = buff[i];
i++;
g[i] = buff[i];
i++;
b[i] = buff[i];
i++;
} while (i < width*height);
for (int k = 0; k < width*height; k++) {
buffer[k] = new Color(r[k], g[k], b[k]);
}
'버퍼 [K] = 새로운 색상 (R [K], g [K], B [K])'다른 플로트 *의 array.This 데이터 컬러 클래스 내 코드 line for the loop 내에서 'no operator "="이 피연산자와 일치합니다. 피연산자 유형은 다음과 같습니다. Color = Color *'
내가 뭘 잘못하고 있니?
원시 포인터를 사용하는 것 외에는? ;) {가능한 경우 스마트 포인터를 사용하십시오. 또는 std :: vector 무엇을하고있는지를 확인하십시오 !!} – UKMonkey
'buffer [k]'는 Color 타입입니다. 에러 메시지에 나와 있습니다. 왜 ypu는 전혀 새로운 것을 사용합니까? –
'g [i] = buff [i];'? 두 가지 인덱스가 필요하다고 생각하지 않습니까? r [0], g [1], b [2]에 값을 할당합니다. –