【发布时间】:2014-10-25 17:57:11
【问题描述】:
我试图将数据从一个向量复制到另一个向量,但是当我尝试编译以下 for 循环时出现错误,“二进制表达式 'int' 和 'Card' 的操作数无效”:
for (int i = 0; i <= vectorOne[vecCapacity]; i++) { //step 3
vectorTwo[i] = vectorOne[i];
}
有人有什么建议吗?
【问题讨论】:
-
vectorOne是如何定义的?
-
这应该是对
std::copy或std::copy_n的一次调用。 -
不能使用std::copy,这是一个有具体说明的赋值。 vectorOne 是一个 T*,在较早的函数中它是动态分配的,T*vector One; vectorOne = new T[vecCapacity]
-
所以它甚至不是真正的向量!克里基。