Как вызвать функции-члены из класса, вложенного в пространство имен? - PullRequest
0 голосов
/ 26 сентября 2019

Я хочу вызвать функцию-член класса, которая вложена в пространство имен из другого файла, но я не знаю как.

Например:

Как вызвать функцию-член класса someFunc(), которая находится в code.h и вложена в пространство имен "program" из main.cpp.

//code.h
#include <iostream>

namespace program
class test {
private:
    int x;
public:
    test()
    {
        test::x = 10;
    };

    someFunc()
    {
        cout << x << " ";
    };
};

1 Ответ

2 голосов
/ 26 сентября 2019

В вашем коде есть некоторые проблемы

#include <iostream>

namespace program { // <-- braces missing

class test
{
private:
    int x;
public:
    test()
    {
        test::x = 10; // <-- test:: is unnecessary but no error
    };

    void someFunc() // <-- return type missing
    {
        std::cout << x << " "; // <-- namespace std missing
    };
};

} // <-- braces missing

int main() {
    program::test t;
    t.someFunc();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...