이 간단한 코드가 컴파일되지 않는 이유는 무엇입니까? 내가하려는 것은 Set 타입의 객체에 대한 포인터의 배열을 만드는 것이다.프로그램이 컴파일되지 않는 이유는 무엇입니까?
int main()
{
size_t n = 0;
size_t ops = 0;
cin >> n >> ops;
Set ** arr = new Set*[n+1];
for (size_t i = 1; i< n+1; ++i) {
Set s = new Set(i);
arr[i] = &s;
}
내 설정 유형 정의가 위 :
struct Set
{
Set (size_t x) {
this->p = x;
this->rank = 0;
this->index = x;
}
size_t index;
size_t p;
size_t rank;
};
그러나 g ++ does't 여기로 정확하고이 코드를 것 받아 들일 때 무엇을 말 : 그것은 이야기 무엇
dss.cpp: In function ‘int main()’:
dss.cpp:57:20: error: invalid conversion from ‘Set*’ to ‘size_t {aka long unsigned int}’ [-fpermissive]
Set s = new Set(i);
^
dss.cpp:17:2: error: initializing argument 1 of ‘Set::Set(size_t)’ [-fpermissive]
Set (size_t x) {
^
을 약? 무슨 변환? 죄송합니다, 그러나 나는 어떤 개종도 볼 수 없습니다! 내가 도대체 뭘 잘못하고있는 겁니까??
i = 0
에서 루프를 시작하려면? C++에서 루비 같은 것을하고있는 것처럼 보입니다. –@JohnDibling 나는 루비를 모른다. 그러나 나는 PHP와 자바 스크립트에 프로그래밍을했다. – dKab