小编dat*_*olf的帖子

C++类定义编译问题

我看了一遍,我找不到任何与我的问题有关的事情.我试图为一个多边形类编写一个类定义,该类基本上有一个包含指向点的指针的向量.当我尝试编译时,我会继续解决以下错误...

错误C2143:语法错误:缺少';' 在'<'错误之前C4430:缺少类型说明符 - 假定为int.错误C2238:';'之前的意外标记 错误C2061:语法错误:标识符'向量'错误C2065:'myPolygonPoints':未声明标识符错误C2065:'points':未声明标识符错误C2065:'myHasInstersection':未声明标识符错误C2660:'Polygon :: addSetOfPoints':函数不拿一个参数

这是该类的代码

#include "Point.h"
#include <vector>

class Point;

class Polygon
{
private:
    vector<Point*> myPolygonPoints;
    bool myHasIntersection;

public:
    void addSetOfPoints(vector<Point*> points)
    {
        myPolygonPoints = points;
    }

    bool getHasIntersection()
    {
        return myHasIntersection;
    }

    void setHasIntersection(bool intersection)
    {
        myHasInstersection = intersection;
    }

};
Run Code Online (Sandbox Code Playgroud)

c++ templates compiler-errors

1
推荐指数
1
解决办法
334
查看次数

freeglut.dll缺失

我正在阅读OpenGl的超级明星,并且在第一个三角形程序中它将无法运行.程序编译得很好,但是当我运行它时,它给了我错误消息freeglut.dll从您的计算机中丢失.我下载并将其放在正确的目录中,它说MSVCR71.dll丢失了,所以我下载了它并把它放在正确的目录中它开始说"程序入口点__glutCreateWindowWithExit无法在动态中找到链接库freeglut.dll." 有谁知道我做错了什么?我按照书中告诉我的所有指示.

c++ opengl freeglut

1
推荐指数
1
解决办法
2万
查看次数

const / static 初始值设定项中的类型双关语(从位构建浮点常量)

某些语言(如 Rust、Zig、GLSL、HLSL)具有内置方法,可根据作为无符号整数提供的位构建浮点类型。然而,C 和 C++ 没有这方面的标准函数。

在 C99 中,我们可以使用带有成员初始化的匿名联合来实现类型双关宏,以达到相同的效果:

#define FLOAT_FROM_BITS(U,F,b) (((union{U u; F f;}){.u=(b)}).f)
#define FLOAT32_FROM_BITS(i) FLOAT_FROM_BITS(uint32_t, float,  i)
#define FLOAT64_FROM_BITS(i) FLOAT_FROM_BITS(uint64_t, double, i)
Run Code Online (Sandbox Code Playgroud)

随后可以使用它来初始化 const / static。在 C++ 中执行此操作最优雅的方法是什么,以便它也可以用于静态初始化?

c++ type-punning

1
推荐指数
1
解决办法
134
查看次数

如何在函数中返回 std::vector 的引用?

我假设向量的引用在 C++ 中无法正常工作。

例如,我将v的引用传递给change()并获取返回作为v的引用,返回的v与change()的输入不一样。这对我来说没有意义,因为我假设我们可以使用 & 进行引用调用,并将其作为对函数外的引用返回。

我用指针查看输入v和输出v的地址是否相同。但是,change() 制作了 v 的新副本并返回它,尽管我使用 & 将其作为引用返回。


如果我运行以下代码,v1 和 v2 不一样。

    #include <iostream>
    #include <vector>
    using std::cout;
    using std::endl;
    using std::vector;
    
    const vector<int>& const change(vector<int>& v) {
      v[1] = -1;             // change the elements in v
      return v;              // return a vector as reference
    }
    
    int main() {

      vector<int> v1 = {1, 2, 3, 4, 5};
      vector<int> v2 = change(v1);
    
      cout << &v1.at(0) << endl;  // check the address of v1
      cout << &v2.at(0) << …
Run Code Online (Sandbox Code Playgroud)

c++

1
推荐指数
1
解决办法
220
查看次数

有没有办法使用OpenGL或DirectX跟踪顶点和像素之间的关系?11

我想知道是否有办法生成3D对象的单个静态图像(1个单个对象表示为三角形列表),使用OpenGL或DirectX,可以让您知道定义对象的特定三角形已被使用生成形成渲染图像的每个像素.我引用了OpenGL和DirectX,因为它们是广泛使用的API图形,如果有人知道实现以前高速工作的其他方法我也会对他/她的答案感兴趣.我目前使用我自己的渲染管道软件实现来跟踪关系,但我想使用图形卡提供的功能和效果(主要是抗锯齿,阴影和特定的皮肤渲染技术).

非常感谢您的帮助

opengl directx 3d

0
推荐指数
1
解决办法
132
查看次数

标签 统计

c++ ×4

opengl ×2

3d ×1

compiler-errors ×1

directx ×1

freeglut ×1

templates ×1

type-punning ×1