为什么在这种情况下找不到成员声明 我使用Eclipse编写C++代码。当我尝试写一个头文件和相应的C++文件时,它提醒我找不到成员声明,但是我不知道为什么会发生这种情况,因为我在代码中声明它……好吧,代码如下:

为什么在这种情况下找不到成员声明 我使用Eclipse编写C++代码。当我尝试写一个头文件和相应的C++文件时,它提醒我找不到成员声明,但是我不知道为什么会发生这种情况,因为我在代码中声明它……好吧,代码如下:,c++,class,declaration,member,C++,Class,Declaration,Member,LoadMedia.h #pragma once #include <string> #include "LuaBridge.h" class LoadMedia: public LuaParser { public: LoadMedia(); virtual ~LoadMedia(); void loadScript(luabridge::lua_State* L, const std::string& scrip

LoadMedia.h

#pragma once 
#include <string>
#include "LuaBridge.h"

class LoadMedia: public LuaParser
{
public:
         LoadMedia();
         virtual ~LoadMedia();

         void loadScript(luabridge::lua_State* L, const std::string& scriptFilename);
};
然后是LoadMedia.cpp

#include "LoadMedia.h"
#include "LuaBridge.h"
#include <string>

LoadMedia::LoadMedia(){}
LoadMedia::~LoadMedia(){}

void LoadMedia::loadScript(luabridge::lua_State* L, const std::string& scriptFilename) 
{
  using namespace luabridge;
  if (luaL_dofile(L, scriptFilename.c_str()) != 0) 
    {
    std::cout << "Error, cannot open the script!" << std::endl;
    }
}

它提醒我loadScript是未找到的成员声明…知道为什么会这样吗?我应该如何更正它?谢谢你的建议。

这让我想起了什么意思?您是否收到实际的编译器错误?如果是这样,请发布它。@pcarter这是eclipse的提醒…我无法在visual studio上复制它。因为我看不到问题,我猜问题出在LuaBridge.h中。但也有很多可能性,比如打开某个作用域,但未能在该.h文件中关闭它。在该.h文件中{}匹配吗?@JSF感谢您的评论。你说的.h文件是指LuaBridge.h?