인데 main.cpp
파일과 main.cpp
에 포함 된 다른 cpp 파일과 헤더 파일이 있습니다. 헤더 파일에서 #indef
, #define
및 #endif
을 올바른 위치에 사용했으며 헤더 파일도 main.cpp
에 포함 시켰습니다. 그러나 주 파일에서 만든 함수를 사용하려고하면 "Identifier (function_name) undefined"오류가 발생합니다. 예를 들어식별자 Undefined C++ CPP가 있고 헤더 파일이
: 내가 잘못 뭐하는 거지
//main.cpp
#include "example.h"
int main(){
foo();
//example.cpp
example::foo(){
//code
}
//example.h
#ifndef EXAMPLE_H
#define EXAMPLE_H
class example{
int foo();
}
#endif
? 필요하지 않은 일을하고 있습니까?
'foo '가 정의되지 않았기 때문에'foo()'가 실패합니다. 어쩌면 당신은 정신적으로'foo'와'example :: foo'를 혼동하고 있습니다. 그것들은 다른 것들입니다. –
그리고 그 경우에도'foo'는'example'에'private'입니다. 그래서 (a) 객체 인스턴스없이 (b) 어떤 정도의 friending없이 main에서 호출하는 것은 불가능합니다. 나는 당신이 [C++에 관한 적당한 책] (https://stackoverflow.com/search?q=%5Bcpp%5D+book)을 필요로한다고 생각한다. – WhozCraig