매우 단순하지만 Iam 오류를 제거 할 수 없습니다. 복잡한 변수에 정수 값을 저장하고 싶습니다. comp
다음, 표준 복합 형이 아닌 경우복잡한 변수에 정수 값을 저장
comp cal = int2;
:
int int2 =2;
comp *cal = int2;
감사
매우 단순하지만 Iam 오류를 제거 할 수 없습니다. 복잡한 변수에 정수 값을 저장하고 싶습니다. comp
다음, 표준 복합 형이 아닌 경우복잡한 변수에 정수 값을 저장
comp cal = int2;
:
int int2 =2;
comp *cal = int2;
감사
당신이 표준 복소수를 사용하는 경우 (즉, comp
는 std::complex<something>
의 별칭입니다) 우리는 그것이 어떻게 정의되는지를 알아야 할 것입니다; 어떻게 그것이 작동할지 짐작할 수있는 방법이 없습니다.
UPDATE : 귀하의 코멘트에 관한 : 그것은 사용자 정의 집계 유형, 그리고 Q
가정하면 실수 부분이기 때문에 :
comp cal = {0, int2};
당신이 정말로 대신 표준 타입을 사용하는 것이 좋습니다 있지만.
나머지 의견에 관해서 : 왜 포인터를 사용해야합니까? 그건 미친 짓이야. 하지만 당신은 정말 하나가 필요한 경우 :
comp cal_ = {0, int2};
comp *cal = &cal_;
을하거나 어떤 이유로 동적 할당을 필요로하는 경우 (이 당신이 거의 확실하지, 당신은, 당신이하지 원시 포인터 스마트 포인터를 사용해야 할 경우) :
를comp *cal = new comp{0, int2};
// and don't forget to delete it when you've finished with it
delete cal;
또는 당신은 사전 2011 언어 붙어하는 경우 : 당신은 당신이해야 할 생각 어떤
반복하는 그러나comp *cal = new comp;
cal->I = 0;
cal->Q = int2;
는, 당신은 거의 확실하게 여기 포인터를 원하지 않는다.
당신은'*'을 원하지 않습니다; 복잡한 변수가 아니라 포인터가됩니다. 그리고'comp'는 어떻게 정의되어 있습니까? 숫자 형을 취하는 암시 적 생성자가 있으면'comp cal = int2; '가 작동해야합니다. –
다시! .. 퀘스트를 요청하기 전에 FAQ를 읽으십시오. – Spandan
C++에서 복소수를 처리하는 방법을 놓친다면'std :: complex' 클래스 (http://www.cplusplus.com/reference/complex/complex/)를 살펴보십시오. –