[visual-studio]真的很奇怪 Windows 构成 c + + 错误

发布时间: 2014/3/1 2:11:34
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

所以我在写一个 Windows 窗体应用程序,,所以当我运行它时它将引发一个错误,不应该把它扔。它将引发"语法错误: 缺少 ;使用"前

我试着投入一上一行,它没有工作。

这是文件的问题

// Rock Paper Scisors.cpp : main project file.

#include "stdafx.h"
#include "Form1.h"

using namespace RockPaperScisors;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    // Enabling Windows XP visual effects before any controls are created
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 

    // Create the main window and run it
    Application::Run(gcnew Form1());
    return 0;
}}

stdafx.h 是 MS Visual c + + 速成版的一部分,不管怎么说,Form1.h 的代码可在此 pastebin (没希望水灾了整个堆栈溢出页。http://pastebin.com/324mpCps

感激所有的帮助 !

解决方法 1:

你只是混淆了括号。

首先,删除最后一个 '}' 岩纸 Scisors.cpp 文件中。Secodnly,这是应如何正确的 Form1.h 文件:

#include<time.h>
#include<stdlib.h>
#include<stdio.h>
#include<ctime>
#include<cstdlib>

#pragma once

namespace RockPaperScisors {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    /// <summary>
    /// Summary for Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: Add the constructor code here
            //
        }

    protected:
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::Button^  Rock;
    protected: 
    private: System::Windows::Forms::Button^  Paper;
    private: System::Windows::Forms::Button^  cis;
    private: System::Windows::Forms::TextBox^  ComBox;

    private: System::Windows::Forms::TextBox^  WonBox;
    private: System::Windows::Forms::Label^  CompLabel;


    private: System::Windows::Forms::Label^  WonLabel;


    private:
        /// <summary>
        /// Required designer variable.
        /// </summary>
        System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        void InitializeComponent(void)
        {
            this->Rock = (gcnew System::Windows::Forms::Button());
            this->Paper = (gcnew System::Windows::Forms::Button());
            this->cis = (gcnew System::Windows::Forms::Button());
            this->ComBox = (gcnew System::Windows::Forms::TextBox());
            this->WonBox = (gcnew System::Windows::Forms::TextBox());
            this->CompLabel = (gcnew System::Windows::Forms::Label());
            this->WonLabel = (gcnew System::Windows::Forms::Label());
            this->SuspendLayout();
            // 
            // Rock
            // 
            this->Rock->Location = System::Drawing::Point(13, 33);
            this->Rock->Name = L"Rock";
            this->Rock->Size = System::Drawing::Size(75, 23);
            this->Rock->TabIndex = 0;
            this->Rock->Text = L"Rock";
            this->Rock->UseVisualStyleBackColor = true;
            this->Rock->Click += gcnew System::EventHandler(this, &Form1::Rock_Click);
            // 
            // Paper
            // 
            this->Paper->Location = System::Drawing::Point(94, 33);
            this->Paper->Name = L"Paper";
            this->Paper->Size = System::Drawing::Size(75, 23);
            this->Paper->TabIndex = 0;
            this->Paper->Text = L"Paper";
            this->Paper->UseVisualStyleBackColor = true;
            this->Paper->Click += gcnew System::EventHandler(this, &Form1::Paper_Click);
            // 
            // cis
            // 
            this->cis->Location = System::Drawing::Point(175, 33);
            this->cis->Name = L"cis";
            this->cis->Size = System::Drawing::Size(75, 23);
            this->cis->TabIndex = 0;
            this->cis->Text = L"Scisors";
            this->cis->UseVisualStyleBackColor = true;
            this->cis->Click += gcnew System::EventHandler(this, &Form1::cis_Click);
            // 
            // ComBox
            // 
            this->ComBox->Location = System::Drawing::Point(83, 127);
            this->ComBox->Name = L"ComBox";
            this->ComBox->Size = System::Drawing::Size(100, 20);
            this->ComBox->TabIndex = 1;
            // 
            // WonBox
            // 
            this->WonBox->Location = System::Drawing::Point(83, 190);
            this->WonBox->Name = L"WonBox";
            this->WonBox->Size = System::Drawing::Size(100, 20);
            this->WonBox->TabIndex = 2;
            // 
            // CompLabel
            // 
            this->CompLabel->AutoSize = true;
            this->CompLabel->Location = System::Drawing::Point(91, 95);
            this->CompLabel->Name = L"CompLabel";
            this->CompLabel->Size = System::Drawing::Size(88, 13);
            this->CompLabel->TabIndex = 3;
            this->CompLabel->Text = L"Computer Choice";
            // 
            // WonLabel
            // 
            this->WonLabel->AutoSize = true;
            this->WonLabel->Location = System::Drawing::Point(91, 163);
            this->WonLabel->Name = L"WonLabel";
            this->WonLabel->Size = System::Drawing::Size(62, 13);
            this->WonLabel->TabIndex = 3;
            this->WonLabel->Text = L"Who Won\?";
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(284, 262);
            this->Controls->Add(this->WonLabel);
            this->Controls->Add(this->CompLabel);
            this->Controls->Add(this->WonBox);
            this->Controls->Add(this->ComBox);
            this->Controls->Add(this->cis);
            this->Controls->Add(this->Paper);
            this->Controls->Add(this->Rock);
            this->Name = L"Form1";
            this->Text = L"Form1";
            this->ResumeLayout(false);
            this->PerformLayout();

        }
#pragma endregion
    int userChoice, compChoice;
private: System::Void Rock_Click(System::Object^  sender, System::EventArgs^  e) 
         {
             ComBox->Text="";
             userChoice=1;

        compChoice=rand()%3+1;

            switch(compChoice)
            {
            case 1:
                ComBox->Text="Rock";
                WonBox->Text="You Tied";
                break;
            case 2:
                ComBox->Text="Paper";
                WonBox->Text="You Lost";
                break;
            case 3:
                ComBox->Text="Scisors";
                WonBox->Text="You Won";
                break;
            }

         }
private: System::Void Paper_Click(System::Object^  sender, System::EventArgs^  e) {
             ComBox->Text="";
             userChoice=2;
        compChoice=rand()%3+1;

            switch(compChoice){
            case 1:
                ComBox->Text="Rock";
                WonBox->Text="You Won";
                break;
            case 2:
                ComBox->Text="Paper";
                WonBox->Text="You Tied";
                break;
            case 3:
                ComBox->Text="Scisors";
                WonBox->Text="You Lost!";
                break;
            }
         }
private: System::Void cis_Click(System::Object^  sender, System::EventArgs^  e) {
             ComBox->Text="";
             userChoice=3;
            compChoice=rand()%3+1;


            switch(compChoice){
            case 1:
                ComBox->Text="Rock";
                WonBox->Text="You Lost";
                break;
            case 2:
                ComBox->Text="Paper";
                WonBox->Text="You Won";
                break;
            case 3:
                ComBox->Text="Scisors";
                WonBox->Text="You Tied!";
                break;
            }
}  //The culprit!
};
}

我只能添加一个支架接近结束时,关闭最后一类中的方法。Visual Studio 2010 年及更早版本不支持智能感知,在 C + + / CLI,还可能发生在这些项目中出现的 bug。

官方微信
官方QQ群
31647020