編譯此C++代碼時出現以下錯誤。這背後的原因是什麼?編譯此C++代碼時出錯
# include <iostream>
# include <stdio.h>
# include <conio.h>
using namespace std;
class Foo
{
int a;
public :
virtual void Fun1();
Foo()
{a=5;}
};
Class X: public Foo // Error class does not name a type
{
Foo f;
public:
void Fun1() { }
X()
{
memset(&f,0x0,sizeof(f));
}
};
int main()
{
X x; // Error 'X undeclared and expected ; before x, i guess because of first one
getch();
return 0;
}
我糾正了大小寫錯誤,但仍編譯時,我得到了一些鏈接錯誤。這是由於我正在使用的memset代碼?你能解釋一下嗎?我還在類X中定義了Fun1(){cout <<「LOL」;},但仍然存在編譯錯誤。 – Invictus 2012-02-16 17:33:36
如果您定義了'Foo :: Fun1',則不應該存在鏈接錯誤。什麼是錯誤? – 2012-02-16 17:35:39
[鏈接器錯誤]對'foo for Foo'的未定義引用 – Invictus 2012-02-16 17:40:42