簡體   English   中英

C ++ Eclipse奇數編譯器錯誤消息

[英]c++ eclipse odd compiler error messages

我的代碼中出現了非常奇怪的錯誤。 在聲明該函數的那一行,它說字符串不是std的一部分,並且“變量'SDL_Texture loadImage'具有初始化程序,但類型不完整”。 在此之后的一行中,它表示預期為; 大括號之前。 相同的代碼片段實際上在一分鍾前就可以正常工作了。 我該如何解決? 如果您需要更多信息,我會很樂意提供。 另外,我在Linux上運行,因此也可能有所作為。

#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include "LevelRenderer.h"
#include "err_log.h"

SDL_Texture loadImage(std::string path)
{
    return loadTexture(getResourcePath() + path + ".png", getLevelScreen());
}

這意味着您還沒有包含定義SDL_Texture的標題; 只有一個聲明它。 這使得它不完整 ,您只能用它做有限的事情。 特別是,您無法創建它的實例,就像該函數按值返回時一樣。

根據我的Google技能 ,您需要包括<SDL_sysrender.h>

您還應該包含<string>因為您正在使用std::string 這可能是第二個錯誤的原因; 但是即使其他標頭之一恰好為您包括了它,也最好不要依賴它。

兩個問題。

一,您忘記了#include <string>

二, loadTexture返回一個指針,所以你要

SDL_Texture* loadImage(std::string path)
{
    return loadTexture(getResourcePath() + path + ".png", getLevelScreen());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM