기본 코드 error C2662: "this"포인터를 "const Node align"에서 "Node align &"솔루션으로 변환할 수 없습니다.

1597 단어 error
신출내기가 글을 올리는 것은, 여러 방면으로 모두 갓 입문한 것이므로, 잘못된 점이 있으면 양해해 주시고, 비판과 시정을 환영합니다.
코드를 먼저 붙이다
void Insert2NodeAlign(int n1,int n2,int n3,int id)
{
	Node_align DFStmp=Node_align(n1,false,n2,n3,id);	
	DFSNL_i=DFS_Nlist.find(Node_align(DFStmp));

	if (DFSNL_i!=DFS_Nlist.end())
	{

    DFSNL_i->insert2ElementBelong(n2);
    } else { DFS_Nlist.insert(DFStmp); } }
    
매일 같은 이치
수선화는 우뚝 솟아 있고 난초는 우아하고 그윽한 향기가 납니다. 모란꽃은 화려하고 진귀하며 배꽃은 하얗습니다. 아름다운 꽃은 세상 사람들의 부러움과 찬탄을 받을 수 있습니다. 작은 씨앗에서 마지막에 꽃이 피기까지 무수한 고난과 굴곡을 겪어야 한다는 것을 몰랐습니다.우리의 성장도 마찬가지다.부지런한 꿈을 꾸는 사람만이 우리의 꿈이 이루어질 수 있다!
여기에서 오류가 발생합니다: 1>surfaceFlat.cpp(21): error C2662: "Node align::insert2 ElementBelong": "this"포인터를 "const Node align"에서 "Node align &"로 변환할 수 없습니다.
1> 변환 분실 한정자
    
해결 방법:
Node_align &n = const_cast<Node_align&>(*DFSNL_i);

		n.insert2ElementBelong(id);

이전에 VC6에서 하면 이 문제가 생기지 않을 것 같았습니다. 방금 STL에 있는 원본 코드를 봤는데 set의 기본 클래스(그 붉은 나무) 중의operator*와operator->가 모두const 함수로 변해서 비const 버전을 찾지 못했기 때문에 이런 상황이 발생할 수 있습니다.플랫폼이 더 엄격해졌어요.
    
    
글이 끝나면 프로그래머의 우스갯소리 어록을 공유해 드리겠습니다. 인공지능의 오늘의 발전 수준: 8 곱하기 8의 국제 장기판은 사실 사고와 창의를 나타내는 강력한 매개체입니다.장기에는 천문학적 숫자와 같은 변화가 담겨 있다.카스파로프는 국제 장기의 합법적인 기수는 모두 1040이라고 지적했다.바둑판에서 산도 8보를 칠 때마다 그 안에 포함된 변화는 이미 은하계의 뭇별 총수를 초과했다.지구상에서 이 수준에 이르는 수량은 드물다.금융위기 이전에 전 세계의 재산 총계는 약 1014위안이었고 지구 인구는 1010위안에 불과했다.바둑판에서 모든 가능한 바둑판의 총수는 10120에 달하는데, 이것은 우주의 모든 원자의 총수를 초과한다!고전 어록망

좋은 웹페이지 즐겨찾기