그래서 난 그냥 클래스를 분리해서하는 방법을 배웠 원인과 유튜브 totourial 여기 https://www.youtube.com/watch?v=NTip15BHVZc&list=PLAE85DE8440AA6B83&index=15 내 코드는 자신과 완전히 동일 링크가있어,이을 많이 일을 강조하고, cpp가 파일을 theres이 일에 :는, CPP 파일에 함수를 사용하여 오류
이unidentified reference to 'mainClass::myfunction()'
여기 내 MAIN.CPP입니다 : 난 내 프로그램을 실행하려고 할 때 이 mainClass::myfunction;
(mainclass 내 클래스의 이름이고, myFunction이 제 기능입니다) , 에러를 제공합니다 파일 코드 :
#include "mainclass.h"
#include <iostream>
using namespace std;
mainClass::myfunction()
{
cout << "I am a banana" << endl;
}
:
이#ifndef MAINCLASS_H
#define MAINCLASS_H
class mainClass
{
public:
myfunction();
};
#endif // MAINCLASS_H
내 mainclass.cpp이 :
여기 내 mainclass.h 코드입니다 왜냐하면 나는 그 남자의 totourial에서 모든 것을 올바르게 복사했기 때문에 여전히 작동하지 않는다. 추신 : 이것은 나에게 일어난 일이다. 나는 모든 것을 이해한다. 아무것도 작동하지 않는다. 나는 모든 것을 복사한다. 아무것도 작동하지 않는다. 그리고 나는 그 사람이하는 일을 그대로 그대로한다. , 여전히 PC의 세 가지 모두에서 작동하는 것은 없으므로 nt 문제가 장치에 있다고 생각하십시오.
프로젝트를 어떻게 컴파일합니까? 'gcc main.cpp'를 호출하고 있습니까? – Frank
또한 생성자 만 반환 값을 지정할 필요가 없습니다. 게시 한 코드는 링커에 도달하기 전에 컴파일되지 않아야합니다. – Frank
@Frank 대부분의 컴파일러는'int' 리턴 타입을 기본으로합니다. 어떤 사람들은 반환 값이 함수에 있는지 확인하고 그 값을 벗어납니다. 나는 그것이 행해져서는 안된다고 동의하지만. Addl. info : https://stackoverflow.com/questions/331148/does-c-allow-default-return-types-for-functions – pepperjack