有一个简单的例子:
我需要知道如何重载运算符=,以便我可以进行这样的赋值操作:
#include <vector>
int main() {
vector<int> veci;
vector<double> vecd;
for(int i = 0;i<10;++i){
veci.push_back(i);
vecd.push_back(i);
}
vecd = veci; // <- THE PROBLEM
}
我需要知道如何重载运算符=,以便我可以进行这样的赋值操作:
vector<double> = vector<int>;
我刚刚尝试了很多方法,但编译器一直返回错误...
有没有办法让这段代码在不改变它的情况下运行?我可以写一些额外的代码,但不能编辑或删除现有的代码。谢谢。
好的,我明白了。我会用另一种方式问你... 有没有办法让这段代码在不改变它的情况下运行?我可以写一些额外的代码,但不能编辑或删除现有的代码。谢谢。
using namespace std
语句,这种相当丑陋的hack也能够工作,因为隐藏的原理。 对于确切的答案,您必须发布确切的问题 - 您必须明确定义允许对代码进行哪些编辑。 - Jan Smrčina