'constant' 前缺少 ')'

missing ')' before 'constant'

我是 C++ 的初学者,之前很少编写代码。

每次构建时我都会收到这些构建错误。我可以设法消除语法错误,但给我带来麻烦的是错误 C2661。

我在一行中收到了所有这些错误:"OpenGL = gcnew Create_OpenGL(this, 10, 10, 640 480);"

这是我正在使用的代码。

public ref class Form1 : public System::Windows::Forms::Form
    {
    private: OpenGLForm::Create_OpenGL ^OpenGL; // #2 pointer to OpenGL
    public:
        Form1(void)
        {

        InitializeComponent();

        -------> OpenGL = gcnew Create_OpenGL(this, 10, 10, 640 480);<------

        }

这是构建的输出:

1>  OpenGl_3D.cpp
1>c:\users\shane carroll\documents\visual studio 2010\projects\opengl_3d\opengl_3d\Form1.h(29): error C2143: syntax error : missing ')' before 'constant'
1>c:\users\shane carroll\documents\visual studio 2010\projects\opengl_3d\opengl_3d\Form1.h(29): error C2661: 'OpenGLForm::Create_OpenGL::Create_OpenGL' : no overloaded function takes 4 arguments
1>c:\users\shane carroll\documents\visual studio 2010\projects\opengl_3d\opengl_3d\Form1.h(29): error C2143: syntax error : missing ';' before 'constant'
1>c:\users\shane carroll\documents\visual studio 2010\projects\opengl_3d\opengl_3d\Form1.h(29): error C2059: syntax error : ')'

如能提供有关此主题的任何帮助,我们将不胜感激。我对此还是很陌生。

"missing something before constant"肯定有错误。仔细看看这条线,就在这里:

640 480

将数字并排放置并用 space 分隔是没有意义的。编译器不知道你的意思是 640+480 还是 640*480 还是 "640 480" 还是 640, 480.

由于您有一个不匹配的括号,错误消息生成器猜测您可能指的是 640); 480... 并为 "missing )" 和 "missing ;"[=18= 生成消息]