2

일부 파일을 나타내는 배열 (또는 벡터?)을 만들려고합니다.C++에서 동적 치수 크기로 배열을 작성하려면 어떻게합니까?

기본적으로 입력 파일의 개수는 다양합니다. 각 파일의 각 행은 사용자 정의 객체로 취급 될 수 있습니다. (나는 그것들을 각각 '기호'라고 부릅니다.) 각 파일에는 다양한 수의 행이 있습니다.

그래서 표현의 이런 종류의 일이 벌어 가지고 싶습니다

배열 [X] [Y] x는 파일을 참조 할 것

,와 y 해당 파일의 라인.

나는 나에게 이상한 오류 메시지를주고있다이 라인

symbol **snapShots = new symbol*[usableFiles]; 
for(int i = 0; i < usableFiles; ++i) { 
    snapShots[i] = new symbol[longestFile]; 
} 

함께 무언가를 제안 유래에 대한 몇 가지 주제를 본 적이 때 건물 :

Undefined symbols for architecture x86_64: 
    "symbol::symbol()", referenced from: 
     _main in MarketDataGenerator.o 
ld: symbol(s) not found for architecture x86_64 
collect2: ld returned 1 exit status 
Info: Parallel threads used: 3 

모든 아이디어를 어떻게 좋겠 이것에 대해 가봐야 겠어? 아니면 파일을 일시적으로 저장하는 것이 더 좋을까요?

+3

아마도이 오류는 사용자가 기본 생성자를 정의하지 않았거나 정의에 연결하지 않았다는 것을 의미합니다. 어쨌든,'std :: vector'를 사용하십시오. 이중 포인터는 사용하지 마십시오. – chris

+0

정의되지 않은 소멸자가 포함 되었습니까? 나는 내 생성자가 괜찮을 것이라고 확신한다. – user1890050

+1

오류의 생성자에 대해 불평하고 있습니다. 링커가 찾을 수있는 본문이 필요합니다. – chris

답변

4

std::vector<symbol> 또는 std::vector<std::vector<symbol> >을 사용해 보셨습니까? 링커에서 말하고자하는 것은 클래스 symbol에 대한 기본 생성자를 선언했지만 정의하지 않았기 때문입니다 (적어도 링크하는 파일에는 포함되지 않음).

+0

예 - 기본 생성자가 누락되었습니다. 내가 그것을 어떻게 간과했는지에 관해 명확히하지 않는다! 어쨌든 감사합니다! – user1890050