【问题标题】:Visual studio seems to be broken [closed]视觉工作室似乎被打破了[关闭]
【发布时间】:2021-09-04 14:16:57
【问题描述】:

所以我是 Visual Studio 的新手,因为我尝试使用 gdi+ 制作 3d 游戏引擎(提到它会引发一些错误,但最初我处理了它们,也许它以某种方式干扰了代码,但我不确定)。在我决定实现这个类之前,我已经完成了所有设置并且代码工作正常:

`

class kostka
{

    public:
        wierzcholek3D ldf(0, 0, 0);
        wierzcholek3D rdf(1, 0, 0);
        wierzcholek3D luf(0, 1, 0);
        wierzcholek3D ruf(1, 1, 0);
        wierzcholek3D ldb(0, 0, 1);
        wierzcholek3D lub(0, 1, 1);
        wierzcholek3D rdb(1, 0, 1);
        wierzcholek3D rub(1, 1, 1);
        //n
        trojkat n1(ldf, rdf, luf);
        trojkat n2(ruf, rdf, luf);
        //w
        trojkat w1(ldf, luf, ldb);
        trojkat w2(lub, luf, ldb);
        //e
        trojkat e1(rdf, ruf, rdb);
        trojkat e2(rub, ruf, rdb);
        //s
        trojkat s1(ldb, rdb, lub);
        trojkat s2(rub, rdb, lub);
        //t
        trojkat t1(luf, ruf, lub);
        trojkat t2(rub, ruf, lub);
        //b
        trojkat b1(ldf, rdf, ldb);
        trojkat b2(rdb, rdf, ldb);
};`

which is a sort of container for a cube where wierzcholek3D is supposed to be a verticle and trojkat are triangles making up the faces of the cube, also there is the verticle declaration:

`
class wierzcholek3D
{

    public:
        float x, y, z;
        wierzcholek3D(float xc, float yc, float zc)
        {
            x = xc;
            y = yc;
            z = zc;
        }
        wierzcholek3D() {}
      //~wierzcholek2D();
};

Also separately i have this error about an array:

    class projmatrix{
    public:
        float nera = 0.1, fra = 1000, fov = 90, aratio = HEIGHT / (float)WIDTH;
        float fovtan = 1 / tanf((fov * 0.5 / 180) * 3.14159);
        float m[4][4] = {0};
        m[0][0] = aratio * fovtan;
        m[1][1] = fovtan;
        m[2][2] = fra/(fra-nera);
        m[3][2] = (-fra*nera)/(fra-nera);
        m[2][3] = 1;
};

这里有我得到的错误列表:

1>D:\visual studio\prog\WindowsProject1\WindowsProject1\WindowsProject1.cpp(103,17): error C2087: 'm': missing subscript

关于数组的错误,我用谷歌搜索了它,它看起来不像是我所做的事情可能导致它,或者我现在认为。

1>D:\visual studio\prog\WindowsProject1\WindowsProject1\WindowsProject1.cpp(67,27): error C2059: syntax error: 'constant'

不知道是什么原因造成的,可能是我笨或坏

无论如何,任何形式的帮助都将不胜感激,因为我花了一整天的时间来解决这个问题,我真的很生自己的气,因为这可能是一个菜鸟错误 `

【问题讨论】:

  • 您是否要在类声明主体中执行语句?!?这远非有效的 c++ ...
  • 哪一行是 103 ?哪个是 67?
  • m 的错误是因为你不能在函数之外有任意语句。 Ideone 在这里显示:https://ideone.com/n06v0p
  • 欢迎来到 Stack Overflow!请不要将解决方案公告编辑到问题中。接受(即单击旁边的“勾选”)现有答案之一,如果有的话。如果现有答案尚未涵盖您的解决方案,您还可以创建自己的答案,甚至接受它。

标签: c++ arrays class visual-c++


【解决方案1】:

Visual Studio 被广泛使用。它不太可能被打破。原因很可能是您的错误。你必须隔离它。

  • 专注于标记的第一个错误。通常一个错误会导致一系列错误。
  • 尽量删减文件,保留错误。这有助于关注问题所在。
  • 一个简短的 MWE(最小的工作示例,更好的非工作示例)使任何可能的回答者的工作变得更加容易,并且将为您提供更多高质量的答案。花半小时减少示例,赢得等待答案的时间。

我怀疑您的float m[4][4] = {0},因为您尝试使用单个值初始化 $4 \times 4$ 数组。也许有些编译器允许这样做,我不是语言律师。

【讨论】:

  • 我处理了所有事情,也很抱歉误导你并写下 vs 坏了我想我应该改变它,也很抱歉浪费你的时间这是一个菜鸟错误:/这是我第一次接受更长的时间使用类的超过 100 行的项目。无论如何,谢谢大家指出我只是想做一些非常愚蠢的事情,但我现在意识到了^^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多