Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 如何调用完全专用的重载运算符?_C++11_Templates_Overloading_Operator Keyword - Fatal编程技术网

C++11 如何调用完全专用的重载运算符?

C++11 如何调用完全专用的重载运算符?,c++11,templates,overloading,operator-keyword,C++11,Templates,Overloading,Operator Keyword,我有一个模板重载操作符,定义如下: enum E1 {e1}; enum E2 {e2}; template <typename T, e1> void operator<<(T& t, int i){ t += i;} template <typename T, e2> void operator<<(T& t, int i){ t -= i;} double d = 0; enume1{E1}; 枚举E2{E2}; 模板无效运

我有一个模板重载操作符,定义如下:

enum E1 {e1};
enum E2 {e2};
template <typename T, e1> void operator<<(T& t, int i){ t += i;}
template <typename T, e2> void operator<<(T& t, int i){ t -= i;}
double d = 0;
enume1{E1};
枚举E2{E2};

模板无效运算符定义运算符的方式应使编写
d@n.m.我知道一个简单的函数会起作用,但是我的整个代码路径使用的是你在这里没有太多的选择。这样做相对容易:
d你可以使用一个短期操纵器来解决你的问题吗<代码>d
  operator<< <double, e1> (d, 3);
  d << <double, e1> 3;