由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 重载 ^ 操作符编译出错
相关主题
能否对某个库进行操作符重载?override operator[] inline
【讨论】为什么要用友员来实现算符重载?为什么不能成功排序
问个函数指针指向操作符的问题C++命名空间和算子重载
C++糟粕和需要避免的。一个C++ operator new的重载问题
有没有会自动聚合的操作符重载或宏?make 时候遇到 undefined reference 怎么办?
请问c++中操作符可以声明为虚函数吗?C++ delete
基本功不扎实,问个问题关于placement new
*(&b1)=b编译不过,b1=b可以,区别是?C++重载<<错误?
相关话题的讨论汇总
话题: 重载话题: double话题: 操作符话题: 编译话题: operator
进入Programming版参与讨论
1 (共1页)
c****6
发帖数: 22
1
为了方便利用matlab的现有code,我试图重载 ^ 以便我可以在VC里用
0.4^2 这种表达式,
于是我定义了个重载操作符如下
double operator^ (double x, double p)
{
return pow(x,p);
}
但是编译报错,
error C2803: 'operator ^' must have at least one formal parameter of class
type
不明白错在哪里。
f*******y
发帖数: 988
2
提示不是很清楚么
再说你这个是典型的理解错误,随便一本书上都会告诉你为啥不行的

【在 c****6 的大作中提到】
: 为了方便利用matlab的现有code,我试图重载 ^ 以便我可以在VC里用
: 0.4^2 这种表达式,
: 于是我定义了个重载操作符如下
: double operator^ (double x, double p)
: {
: return pow(x,p);
: }
: 但是编译报错,
: error C2803: 'operator ^' must have at least one formal parameter of class
: type

k**f
发帖数: 372
3
You cannot overload operators for built in types like double.
f******y
发帖数: 2971
4
至少有一个是自定义的
l*****d
发帖数: 359
5
lz牛的,这个也想重载
a****l
发帖数: 8211
6
you only need to build a new compiler.

【在 c****6 的大作中提到】
: 为了方便利用matlab的现有code,我试图重载 ^ 以便我可以在VC里用
: 0.4^2 这种表达式,
: 于是我定义了个重载操作符如下
: double operator^ (double x, double p)
: {
: return pow(x,p);
: }
: 但是编译报错,
: error C2803: 'operator ^' must have at least one formal parameter of class
: type

1 (共1页)
进入Programming版参与讨论
相关主题
C++重载<<错误?有没有会自动聚合的操作符重载或宏?
大侠们救命, C++ operator new 问题请问c++中操作符可以声明为虚函数吗?
一个matrix类定义的问题基本功不扎实,问个问题
C++ Q02:*(&b1)=b编译不过,b1=b可以,区别是?
能否对某个库进行操作符重载?override operator[] inline
【讨论】为什么要用友员来实现算符重载?为什么不能成功排序
问个函数指针指向操作符的问题C++命名空间和算子重载
C++糟粕和需要避免的。一个C++ operator new的重载问题
相关话题的讨论汇总
话题: 重载话题: double话题: 操作符话题: 编译话题: operator