为什么以下不起作用?:
MyClass *c = new MyClass();
std::vector<MyClass> myVector;
std::find(myVector.begin(), myVector.end(), *c)
Run Code Online (Sandbox Code Playgroud)
这会带来错误.我不记得确切的错误,对不起,但它说像MyClass和const MyClass这样的东西无法通过运算符进行比较==
但是,如果我使用非类数据类型而不是"MyClass"执行相同的操作,一切正常.那么如何正确地使用类?
我正在使用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提前