'initPhysics'未在此範圍內聲明。函數'未在此範圍內聲明',但它是!不是嗎?
我儘可能簡化了我的程序;這就是:
helloworld.hpp
#ifndef HELLOWORLD_HPP
#define HELLOWORLD_HPP
class testWorld {
public:
testWorld() {}
~testWorld() {}
void initPhysics();
};
#endif
HELLO.CPP
#include "helloworld.hpp"
#include <iostream>
using namespace std;
void testWorld::initPhysics() {
cout << "Initiating physics..." << endl;
}
int main(int argc,char** argv) {
cout << "Hello World!" << endl;
testWorld* world;
world = new testWorld();
world<-initPhysics();
return 0;
}
我編譯命令
g++ -c hello.cpp
並且得到錯誤
hello.cpp: In function ‘int main(int, char**)’:
hello.cpp:14:21: error: ‘initPhysics’ was not declared in this scope
爲什麼編譯器看不到initPhysics的聲明,即使我包含了helloworld.hpp?
好的,'<-'應該做什麼?你可能是指' - >'。 – 2011-06-16 15:54:47
不應該是世界 - > initPhysics()而不是世界<-initPhysics(),還是我困惑? – check123 2011-06-16 15:55:34
[我不明白這個問題,對我來說工作得很好。 :)](http://ideone.com/r71Dj) – Xeo 2011-06-16 16:36:50