我的代码中有一个函数,它只接受类成员方法作为模板参数。我需要使用从父类继承的类方法来调用此方法。这是我的问题的示例代码:
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 ++和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手册没有任何帮助。是否有任何解决环境变量的功能,或者我自己完成此操作?