小编Tob*_*xos的帖子

使用父类方法作为派生类方法时出现GCC错误

我的代码中有一个函数,它只接受类成员方法作为模板参数。我需要使用从父类继承的类方法来调用此方法。这是我的问题的示例代码:

template <class C>
class Test {
public:
    template<typename R, R( C::* TMethod )()> // only a member function should be accepted here
    void test() {} 
};

class A {
    public:
    int a() { return 0; } // dummy method for inheritance
};

class B : public A {
public:
    using A::a; // A::a should be declared in the B class declaration region

    // int a() { return A::a(); } // if this lines is activated compliation works
};

int …
Run Code Online (Sandbox Code Playgroud)

c++ gcc using using-directives language-lawyer

7
推荐指数
1
解决办法
315
查看次数

C ++ setenv解决其他变量

我正在使用c ++和setenv来设置一个变量,如下面的程序所示:

setenv("TEST", "$HOME/test", 1);
char* val = getenv("TEST");
printf("TEST=%s", val);
Run Code Online (Sandbox Code Playgroud)

我得到的输出是“ TEST = $ HOME / test”。但是我希望输出像“ TEST = / home / toboxos / test”。使用linux手册没有任何帮助。是否有任何解决环境变量的功能,或者我自己完成此操作?

c++ linux environment-variables setenv

1
推荐指数
1
解决办法
34
查看次数