이 내 템플릿 매트릭스 클래스입니다!C++ 템플릿과 그 요소의 형태
왜이 경우 컴파일러가 계속 컴파일됩니까?
픽셀 클래스는
#ifndef MYRGB_H
#define MYRGB_H
#include <iostream>
using namespace std;
class Pixel
{
public:
// Constructors
Pixel();
Pixel(const int r, const int g, const int b);
Pixel(const Pixel &value);
~Pixel();
// Assignment operator
const Pixel& operator = (const Pixel &value);
// Logical operator
bool operator == (const Pixel &value);
bool operator != (const Pixel &value);
// Calculation operators
Pixel operator + (const Pixel &value);
Pixel operator - (const Pixel &value);
Pixel operator * (const Pixel &value);
Pixel operator * (const int &num);
Pixel operator/(const int &num);
// IO-stream operators
friend istream &operator >> (istream& input, Pixel &value);
friend ostream &operator << (ostream& output, const Pixel &value);
private:
int red;
int green;
int blue;
};
#endif
표시되는 컴파일러 오류를 포함하십시오. 또한 코드를 표시하지 않는 Pixel 클래스를 언급합니다. 매트릭스 클래스에 '/'연산자를 정의하는 것처럼 보입니다. 오른쪽에 T 요소가있는 것입니다. 이 메서드의 본문을 표시하지 않으므로 컴파일러 오류가 예상되는 이유를 알기가 두 배로 어렵습니다. 자세한 내용을 참조하십시오. –
@Neil이 Pixel 클래스를 추가했습니다. 감사. –
헤더에'namespace std'를 사용해서는 안됩니다. – sbi