인라인 함수는 본문이 호출되는 곳으로 삽입되는 함수라는 것을 알고 있습니다. 그들이 호출 할 때 그런 이유 때문에 범위에 영향을 인라인 기능 변경되지 않습니다인라인 함수가 범위 내부를 볼 수없는 이유는 무엇입니까?
#include <iostream>
inline void alert(const std::string &str) { cout << str; }
int main() {
using namespace std;
alert("Hello World"); // cout << "Hello World";
}
I 오류 cout was not declared in this scope
를 얻을 수 있기 때문 작동하지 않습니다,하지만 난 std::cout
을 할 경우는 않습니다. 인라인 함수의 함수 본문이 범위에 삽입되면 cout
이 std
의 멤버라는 것을 C++에서 알 수없는 이유는 무엇입니까?
'std :: cout'으로 변경하지 않겠습니까? 또는 상단에'using namespace std; '를 넣으시겠습니까? 나에게 더 좋은 모양 같아. – MartyE