2013-10-15 2 views
0

문자열 변수 string time을 만들어야하고 14:58처럼 보일 것입니다.
나는 기능C++ 오류 LNK2019

string SetTime() { 
long double h = (long double)(rand()%25); 
long double m = (long double)(rand()%60); 

string hour = to_string(h); 
string minutes = (m <= 9 ? "0" : "") + to_string(m); 

string time = hour + ":" + minutes; 
return time; 
} 

을 만들었지 만 내가하려고 할 때
가 무슨 일이야 error LNK2019: link to unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl SetNumber(void)" ([email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@XZ) in _wmain

얻는 방법과 그것을 해결하기 위해 그것을

string str = SetNumber(); 
cout << str; 

을 사용할 수 있나요?

+0

SetNumber/SetTime 함수 호출을 혼합하고 있습니까? – billz

+0

예, 두 가지 기능이 혼합되었습니다. 죄송합니다. – Heidel

답변

3

함수 SetTime를 호출해야합니다. 링커에서 SetNumber의 정의를 찾을 수 없습니다. 흥미로운 점은 컴파일러 오류가 아니라 링커 오류가 발생한다는 것입니다. 즉, SetNumber이라고 선언했음을 의미합니다.

+0

오, 미안하지만 바보 같은 실수로 다른 기능을 사용하려고했습니다. – Heidel

+0

엉망이 된 증분 빌드와 함께 컴파일러 (이 경우 VC++)가 호출 된 코드를 다시 컴파일 할 필요가 없다고 생각하면 링커는 호출자 코드를 이전 코드에 연결할 수 없습니다. 완전히 다시 작성하면 문제가 해결됩니다. – TemplateRex

1

당신은 당신이 SetNumber를 호출하는 동안 SetTime라고하지 SetNumber

+0

오, 미안하지만 바보 같은 실수로 다른 제 기능을 사용하려고했습니다. – Heidel