gpt4 book ai didi

c++ - 我不断收到错误消息,这是我第一次使用类,这是我的代码 :

转载 作者:行者123 更新时间:2023-11-28 07:55:33 28 4
gpt4 key购买 nike

错误:

1>------ Build started: Project: SFML_lesson1, Configuration: Debug Win32 ------
1> Main.cpp
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(5): error C2146: syntax error : missing ';' before identifier 'event'
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(5): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(5): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2065: 'event' : undeclared identifier
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2228: left of '.type' must have class/struct/union
1> type is ''unknown-type''
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2653: 'Event' : is not a class or namespace name
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2065: 'MouseButtonPressed' : undeclared identifier
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2065: 'event' : undeclared identifier
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2228: left of '.mouseButton' must have class/struct/union
1> type is ''unknown-type''
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2228: left of '.button' must have class/struct/union
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2653: 'Mouse' : is not a class or namespace name
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\keyevents.h(8): error C2065: 'Left' : undeclared identifier
1>c:\users\steven\documents\visual studio 2010\projects\sfml_lesson1\sfml_lesson1\main.cpp(47): error C3867: 'input::leftclick': function call missing argument list; use '&input::leftclick' to create a pointer to member
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这是我第一次做这样的事情,过去几周我一直在学习 C++,但我遇到了一个奇怪的错误。我在 udemy 上使用 SFML 来了解游戏开发的基础知识。我决定写一个更简单的方法来使用左触发事件,然后写出一长串。

这是我的 KeyEvents.h 文件:

class input{

public:

Event event;

int leftclick(){
event.type == Event::MouseButtonPressed && event.mouseButton.button == Mouse::Left;

return true;
}

};

这是我的 Main.cpp 文件:

//Libraries
#include <iostream>
#include <SFML/Graphics.hpp>
#include "Settings.h" // Includes the Settings.h file located in the "Header Files" folder
#include "KeyEvents.h"
using namespace std;
using namespace sf;


int main(){
// Declarations
bool Playing=true; // Used for the Main loop when the game starts up
// The datatype holding all the events
Event event;

RenderWindow window(VideoMode(Settings::WIDTH,Settings::HEIGHT), "Project"); // Creates the windows

window.setFramerateLimit(Settings::FRAME_RATE); // Sets the Frame-rate limit
window.setKeyRepeatEnabled(Settings::KEY_REPEATE); // Remove spamming keys
while(Playing==true){ // Main loop


while (window.pollEvent(event)){

if(event.type == Event::KeyPressed){ // If a Key has been pressed!
// For certain keyboard buttons it would be 'event.key.code == Keyboard::A'
// There are two states for the keyboard 'KeyPressed' and 'KeyRelease'

cout << "A Key has been pressed!\n";

}
else if(event.type == Event::KeyReleased){

cout << "The key has just been released!\n"; // This message only pops up when they 'A' or 'a' has been released


}


if(event.type == Event::KeyReleased && event.key.code == Keyboard::Escape){ // This is for when the 'event' is closed the game will exit, by making the bool 'Playing' to false it is set to close by using the escape key

cout << "The Game has just been closed when Pressing the 'Escape Key'\n";
Playing=false;

}

if(input::leftclick){ // My custom way of knowing when the user left clicks with his/her mouse inside the class input there is a function called leftclick

cout << "YAY I AM LEARNING\n";


}


}

// Logic:


// Rendering:

// Clears the window, then displays what it needs to
window.clear();
window.display();

}

window.close(); // Closes the window. when Playing is false

// Returns tto the computer that the program is running fine.
return true;
}

我猜这是一个奇怪的错误。

最佳答案

您的 Event 类似乎在使用之前未定义(甚至未声明)。在哪里申报?

关于c++ - 我不断收到错误消息,这是我第一次使用类,这是我的代码 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12808991/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com