내가구조체의 벡터 벡터를 초기화하는 방법은 무엇입니까?
vector< vector<int> > A;
내가 그것을 어떻게 초기화해야되는 N × N 행렬이 있다면? 내가 성공하지 시도했습니다
:
A = new vector(dimension);
도 :
A = new vector(dimension,vector<int>(dimension));
내가구조체의 벡터 벡터를 초기화하는 방법은 무엇입니까?
vector< vector<int> > A;
내가 그것을 어떻게 초기화해야되는 N × N 행렬이 있다면? 내가 성공하지 시도했습니다
:
A = new vector(dimension);
도 :
A = new vector(dimension,vector<int>(dimension));
당신은 동적 할당을 수행 할 수 new
를 사용합니다. 동적으로 할당 된 객체를 가리키는 포인터를 반환합니다.
A
은 자동 변수이므로 new
을 사용할 이유가 없습니다. 이처럼
vector<vector<int> > A(dimension, vector<int>(dimension));
좋아, 문제가 발견됐다. 나는 그 벡터를 가진 지적 구조체를 가지고 있다고 언급하지 않았다. 그리고 뭐라고하는지 : myStructVble-> A (치수, 벡터
@LiLou_ 구조체의 생성자를 초기화해야합니다. 또는 임시에서 멤버로 복사 : myStructVble-> A = 벡터
: 당신은 단순히 생성자를 사용하여 A
을 초기화 할 수
#include <vector>
// ...
std::vector<std::vector<int>> A(dimension, std::vector<int>(dimension));
(. 사전은-C는 꺾쇠 괄호 사이에 공백을 떠날 필요 ++ 11)
당신은 아마해야 입문서를 참고하십시오. new는 할당 된 것에 대한 포인터를 반환합니다 (어쨌든 여기서는 필요하지 않습니다). – Borgleader
벡터> MyMatrix [4] [4]; // works also as –
Mich
이 질문은 중복되지 않습니다. 상상 속의 링크 된 사본은 다른 질문을위한 것으로서,이 질문에 대한 답변도 있지만이 질문을 검색 할 때는 찾을 수 없습니다. –