gpt4 book ai didi

C++ - 错误 C3646 : unknown override specifier

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:42:46 25 4
gpt4 key购买 nike

我修改了我的项目,编译后弹出一些奇怪的错误。

#ifndef BART_RAY_TRACER_MESH_H
#define BART_RAY_TRACER_MESH_H

#include <vector>
#include "assert.h"
#include "vec3f.h"

class Triangle;

class Mesh {
public:
uint32_t nverts;
bool _is_static;
vec3f *verts;
vec3f *_verts_world;
Material material;
// 2 error occurs at the line below
Matrix4x4 _trans_local_to_world; // '_trans_local_to_world': unknown override specifier & missing type specifier - int assumed. Note: C++ does not support default-int
Matrix4x4 _trans_local_to_world_inv;
TransformHierarchy *_trans_hierarchy;

std::vector<Triangle* > triangles;
// ...
};
#endif

当我稍微改变声明的顺序时,错误总是发生在 Material material 之后的行,但有不同的消息:

#ifndef BART_RAY_TRACER_MESH_H
#define BART_RAY_TRACER_MESH_H

#include <vector>
#include "assert.h"
#include "vec3f.h"

class Triangle;

class Mesh {
public:
uint32_t nverts;
bool _is_static;
vec3f *verts;
vec3f *_verts_world;
Material material;
// 2 error occurs at the line below
TransformHierarchy *_trans_hierarchy; // error C2143: syntax error: missing ';' before '*' & error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Matrix4x4 _trans_local_to_world;
Matrix4x4 _trans_local_to_world_inv;

std::vector<Triangle* > triangles;
// ...
};
#endif

我在 SO 上搜索过类似的问题,但似乎没有用。我检查了我的 vec3fTriangle 类定义,以防缺少分号但我找不到任何分号。

有人能帮忙吗?

最佳答案

这只是 Microsoft 的另一个错误。本质上是这样的:

class C
{
x y ;
} ;

如果您将此提交给像 g++ 这样的明智的编译器,它会给您一条有用的错误消息:

3:2: error: 'x' does not name a type

另一方面,MSVC 出现了这个乱码:

(3): error C3646: 'y': unknown override specifier
(3): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

有了这个 key ,你就可以将微软的错误信息解密成:

error: 'Matrix4x4' does not name a type

关于C++ - 错误 C3646 : unknown override specifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46188302/

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