gpt4 book ai didi

c++ - 没有运算符匹配这些操作数

转载 作者:行者123 更新时间:2023-11-27 23:10:46 25 4
gpt4 key购买 nike

#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <array>
#include <vector>

using namespace std;

int _tmain(){
double x1 = 5.25;
double y1 = 4.2345;
int nx = 10;
int ny = 11;
vector<double> Bn(nx, ny);
vector<float> x (nx);
vector<float> y (ny);
for (int i = 0; i <10; i++){
for (float j = 0; j < 11; j++){
Bn = exp((pow(x[nx]-x1,2)-pow(y[ny]-y1,2))
}
}
system ("pause");
return 0;
}

我收到“没有运算符匹配这些操作数 c++”错误。 '=' 在 Bn 突出显示之后。我不确定我应该做什么。这也是定义未知大小数组的正确方法吗?我希望能够定义一个数组,而不必定义数组中的内容。

问:如果我不定义数组的大小,是否意味着编译器会随机选择任何数字或什么?

最佳答案

这里不止一个问题:

 for (int i = 0; i <10; i++){
for (float j = 0; j < 11; j++){
Bn = exp((pow(x[nx]-x1,2)-pow(y[ny]-y1,2))
}
}

你是:

  • 分配 doublestd::vector<double> .
  • 迭代ij但不在循环中使用它们。
  • 访问超过数组大小的元素。两次 x[nx]y[ny]nx用于定义 x 的大小ny 也一样和 y .
  • 缺少 ;在行尾 Bn = exp((pow(x[nx]-x1,2)-pow(y[ny]-y1,2)) .

因此,至少使用迭代器遍历 vector 并定义要存储 exp 输出的位置.

顺便说一下,Bn由于没有大小定义,你必须使用 Bn.push_back()添加一个元素。

关于c++ - 没有运算符匹配这些操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20497318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com