gpt4 book ai didi

c++ - 数组下标的类型 'float*[float]' 无效

转载 作者:行者123 更新时间:2023-12-01 14:37:18 25 4
gpt4 key购买 nike

我想显示 x 和 f(x) 的范围并将 f(x) 保留在数组中,但我总是收到此错误:

invalid type 'float*[float]' for array subscript

有人可以帮助我吗?我还是被困住了。

代码如下:

#include <iostream>
#include <cmath>
#include <math.h>
using std::cin;
using std::cout;

using namespace std;
void displayValue(float funx[], float j, float x);

int main()
{
float num9[]={};
float a, r;
displayValue(num9, a, r);

return 0;
}
void displayValue(float funx[], float j, float x)
{
float i;
cout << "Please enter range of x: " << endl;
for (i=0; i<1; i++)
{
cin >> x >> j;
}
for (float i=1; i<=160.5; i++)
{
x+=0.5;
funx[i]=1/sin(x)+1/tan(x);
//1.2 Display f(x) and x within the range
}cout << x << " = " << funx[i] << "\n";

}

最佳答案

您试图解决的问题实际上并不是您需要解决的问题。这段代码中有很多错误,可以简单地删除它们,因为您使用了错误的工具。

这里不需要数组。如果你这样做了,你需要分配一个,而不是传入空的东西,否则你会超出范围使用它。在 C++ 中,对于这样的数组,请使用 std::vector

话虽这么说,这是代码的简化版本:

#include <iostream>
#include <cmath>
#include <math.h>

// Don't add "using namespace std", that separation exists for a reason.

// Separate the math function to make it clear what's being done
float f(const float x) {
return 1/sin(x)+1/tan(x);
}

// Define your functions before they're used to avoid having to declare
// then later define them.
void displayValue(const float min, const float max, const float step = 0.5)
{
for (float x = min; x <= max; x += step)
{
// Note how the f(x) function here is a lot easier to follow
std::cout << "f(" << x << ") = " << f(x) << std::endl;
}
}

int main()
{
std::cout << "Please enter range of x: " << std::endl;

// Capture the range values once and once only
float min, max;
std::cin >> min >> max;

// Display over the range of values
displayValue(min, max);

return 0;
}

这里有一些重要的 C++ 基础知识:

  • float num9[]={}; 不是一个可以稍后添加的空数组,它是一个永久零长度数组,换句话说,没啥用。
  • 密切注意您定义的变量,避免在同一范围内定义它们两次。
  • 在学习如何针对潜在问题发出警报时,打开所有编译器警告。 C++ 充满了细微差别和陷阱。

关于c++ - 数组下标的类型 'float*[float]' 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62653166/

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