你好我正在写一个IOManager,但是我收到了这个错误:
Error 1 error C2143: syntax error : missing ';' before '<class-head>'
我的代码是:
#pragma once
#include <vector>
class IOManager{
public:
static bool readFileToBuffer(std::string filePath, std::vector<unsigned char>& buffer);
};
我不知道我做错了什么!
答案 0 :(得分:4)
您使用std::string
,但未包含<string>
标头。将此行添加到顶部:
#include <string>
所以你会得到:
#pragma once
#include <string>
#include <vector>
class IOManager{
public:
static bool readFileToBuffer(std::string filePath, std::vector<unsigned char>& buffer);
};
它应该有用。
答案 1 :(得分:1)
我在虚幻引擎的C ++代码中得到了这个。 这是因为我在课堂宣言结束时忘记了分号 在我的标题(.h)文件中。
class MyClass{
private: //Stuff here
public: //Stuff here
}; //<--------DONT FORGET THE SEMICOLON
答案 2 :(得分:0)
嘿,我知道这已经得到了回答,但对于其他所有人来说,
我在浏览Youtube教程时遇到了同样的错误,可能与你的教程相同。我做了#include <string>
,但它并没有为我解决错误。事实证明错误来自单独文件的最后一行(picoPNG.h):
#pragma once
#include <vector>
extern int decodePNG(std::vector<unsigned char>& out_image, unsigned long& image_width, unsigned long& image_height, const unsigned char* in_png, size_t in_size, bool convert_to_rgba32 = true)
我必须做的是在最后一行之后包括分号,所以它最终成为:
#pragma once
#include <vector>
extern int decodePNG(std::vector<unsigned char>& out_image, unsigned long& image_width, unsigned long& image_height, const unsigned char* in_png, size_t in_size, bool convert_to_rgba32 = true);
Ben导师最后会在以后的教程中修复这个bug。因此,请尝试检查您的其他标题文件,看看是否有任何地方没有使用分号。
希望这有助于某人!