use*_*494 -1 c++ struct pointers new-operator glfw
我正在使用GLFW并创建一个GLFWwindow,它在它的标题"glfw3.h"中声明如下:
typedef struct GLFWwindow GLFWwindow;
通常,在堆上初始化结构时,我会执行以下操作:
GLFWwindow *window = new GLFWwindow();
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:无效使用不完整类型'GLFWwindow {aka struct GLFWwindow}','GLFWwindow {aka struct GLFWwindow}'的前向声明
这是我对该问题的修复:
GLFWwindow **window = new GLFWwindow*();
这个修复实际上有效,但我不明白为什么我需要它.
Thx提前
因为它是由别人说,你不能直接创建GLFWindow有new,因为它只是声明,没有定义.
实际上,它用作opaque类型,并且您应该仅使用GLFW函数来操作它.例如,您可以使用glfwCreateWindow()函数创建一个窗口,即:
GLFWwindow* window = glfwCreateWindow(...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
603 次 |
| 最近记录: |