foo.cpp 에서 foo() 함수를 호출 할 수 있습니까? Foo :: foo()를 Foo :: newfoo()로 변경하지 않고도 가능합니다.같은 이름 함수 호출
MAIN.CPP
#include <iostream>
#include "Foo.hpp"
class Foo {
public:
void foo() {
std::cout << "Foo::foo\n";
}
void bar() {
std::cout << "Foo::bar\n";
foo();// need to call foo() function from foo.cpp not Foo::foo()
}
};
int main() {
Foo f;
f.bar();
return 0;
}
Foo.hpp
#ifndef FOO_HPP_INCLUDED
#define FOO_HPP_INCLUDED
void foo();
#endif // FOO_HPP_INCLUDED
foo.cpp의 불쌍한 내 영어에 대한
#include "Foo.hpp"
#include <iostream>
void foo(){
std::cout << "foo\n";
}
ps.sorry.
이 문제가 실제로 설명되어 있습니까? 작성된 것처럼, Foo.cpp는'foo'라는 이름의 정의 하나만 보았습니다. 유일한 충돌은'main.cpp'에서'void Foo :: foo()'의 정의 안에 있습니다. 그것이 바로 답이 다루는 것 같습니다. – Potatoswatter