考虑这个template函数,调用一个对象的方法class T.
template<class T, void (T::*Method)()>
void circuitousInvoke(T* callee) {
(callee->*Method)();
}
Run Code Online (Sandbox Code Playgroud)
例:
struct A {
void test() {};
}
circuitousInvoke<A, &A::test>(new A);
Run Code Online (Sandbox Code Playgroud)
由于参数中的circuitousInvoke已经知道类型T callee,有没有办法避免输入这种类型?
circuitousInvoke<&A::test>(new A);
Run Code Online (Sandbox Code Playgroud)
此问题仅涉及模板功能.在这种情况下,继承和其他基于类的解决方案不适用.(在我的项目中使用包装器对象会比输入其他名称更糟糕.)
我想根据给定类型的属性更改模板函数的返回类型.是否有可能做这样的事情,可能有部分专业化(一个用于酷T,另一个用于非酷)?
template<typename T, typename ret = T::IsCool ? int : float>
inline ret get() {}
Run Code Online (Sandbox Code Playgroud)
(总是保证,T bool有财产IsCool.)
我正在为我的手机用Apache-Cordova做一点应用程序.因此,我希望div和它的内容是颠倒的.我试过了
transform: rotation(180deg);
Run Code Online (Sandbox Code Playgroud)
和
transform: scale(1, -1);
Run Code Online (Sandbox Code Playgroud)
至今.在我的Firefox中,它们按照需要工作,但在我的手机上没有任何改变.所以我不知道为什么或任何其他可能性.
有谁知道为什么会这样或有其他想法?
Apache Cordova不支持CSS3吗?
谢谢你的帮助.