2016-07-20 4 views
-3

void 함수에 의해 생성 된 문자열을 저장할 문자열 배열을 만들려고합니다. 나는 이것을 어떻게 할 수 있는지 또는 어떻게 할 수 있는지에 대해 매우 혼란 스럽다. 아래 코드는 "적절한 생성자 없음"에 대한 오류를 제공합니다.함수에 의해 생성 된 문자열을 배열에 추가하기

getWords("theFile.dat");  // Function to extract list of strings from file  
string wordsList[] = {getWords("theFile.dat")}; // Add strings from function to array 
+0

'void'함수 인 경우 어떻게 문자열을 생성합니까? – Barry

+0

그것은 cout을 사용합니다. 이것은 내가 작업중인 다른 사람이 제공 한 함수이므로 void 함수에서이 함수를 변경할 수 없습니다. –

+2

그런 다음 문자열 목록을 초기화하는 데 사용할 수 없습니다. –

답변

3

만약 (귀하의 코멘트 상태로) 코드 문자열을 인쇄 할 cout를 사용하여, 당신은 그 (것)들을 포착하고 배열에 넣어 수있는 방법이 없습니다. 음, 좋아, 당신은 일 수 있습니다 몇 가지 주요/못생긴 해킹 stdout 파일 설명자의 잡고 그걸 쓴 읽습니다,하지만 그건 그냥 못생긴 단어를 넘어 (그리고 가능성이 가장 다른 가능성이 필요합니다 플랫폼 특정 구현). 그냥 가지마.

을 작성하여 파일을 읽고 필요한 것을 반환하거나 제공 한 쓰레기 기능을 수정하는 기능을 에 작성하십시오.

고치거나 다시 구현/다시 고려하기 전에 깨진 쓰레기를 해결하기 위해 추가해야하는 (얼마나 많은 쓰레기/버그가 발생할 위험이 있는지) 한계가 있습니다.

+0

가 완전히 동의합니다. 나는 그것이 어떻게 든 작동하도록 재미있는 도전으로 받아 들일 것이다. 그러나 어떤 진지한 코드에서 나는 그 기능을 쓰레기로 던질 것이다. – user463035818

관련 문제