为什么我的 2D 数组未定义?
Why is my 2D array Undefined?
#include<iostream>
using namespace std;
int main()
{
double x[2] = { 0,0 }, y[2] = { 0,-4 }, z[2] = { -3,0 };
double CXx, CYx, CZx, CXy, CYy, CZy, CXz, CYz, CZz, D,L;
L = sqrt(pow(x[1] - x[0], 2) + pow(y[1] - y[0], 2) + pow(z[1] - z[0], 2));
if (x[0] == x[1] && y[0] == y[1]) {
if (z[1] > z[0]) {
double Lambda[3][3] = { { 0,0,1 },{ 0,1,0 },{ -1,0,0 } };
}
else {
double Lambda[3][3] = { { 0,0,-1 },{ 0,1,0 },{ 1,0,0 } };
}
}
else
{
CXx = (x[1] - x[0]) / L;
CYx = (y[1] - y[0]) / L;
CZx = (z[1] - z[0]) / L;
D = sqrt(pow(CXx, 2) + pow(CYx, 2));
CXy = -CYx / D;
CYy = CXx / D;
CZy = 0;
CXz = -(CXx*CZx) / D;
CYz = -(CYx*CZx) / D;
CZz = D;
double Lambda[3][3] = { { CXx,CYx,CZx },{ CXy,CYy,CZy },{ CXz,CYz,CZz } };
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
cout << Lambda[i][j] << " ";
}cout << endl;
}
return 0;
}
我无法打印 2D 数组 Lambda。它被声明为未定义。我知道我的 If-Else 语句存在一些问题,但我找不到什么。当我在条件语句之前定义 Lambda 时,我得到了一个输出。我对条件语句有什么不了解的。
你在 if else 语句中定义了变量Lambda
,所以在 if else 语句之后,这个变量是未定义的。
相关文章:
- C++编程从外部文本文件定义数组大小
- 如何在子类中重新定义数组大小?
- 有没有办法根据命令行参数定义数组大小?运行时与编译时实例化?
- 我可以使用常量定义数组的长度,那么为什么 int d[b] 不起作用呢?
- 表达式必须具有常数值,变量不能用作定义数组大小的常数
- 在类中定义数组的方法和字段
- (C++)我的自定义数组无法初始化(编译错误)
- 程序在初始化期间未与数组一起运行
- 重写自定义数组类的运算符/开始/结束
- 如何在 C++ 中定义数组数组
- 您可以在类初始化器列表中定义数组大小吗?
- 通过Overloading Operator []访问自定义数组包装器中的元素
- 为自定义数组实现迭代器
- 递归定义数组中的数据对齐和排序
- 如何从类中返回自定义数组项目并操纵其属性?C
- 如何使用类 .h 文件中的静态常量来定义数组的长度
- 使用类定义数组创建C++类
- C++自定义数组容器动态大小
- C++中使用什么类型来定义数组大小
- 在源文件中定义数组,然后在其他源文件中使用它