我正在尝试编写一个我无法在课堂上完成的教程,而且我很难找出我的错误。我以前从未见过明确的限定错误,所以我什至不知道从哪里开始。在使用命名空间时,我可以在网上找到此类错误的唯一资源,我认为我不是,至少不是明确的(命名空间 std 除外)。
我确定我在某个地方犯了一个愚蠢的错误,但这些是我得到的错误:
View.cpp:12:55: error: explicit qualification in declaration of ‘void promptForAnimals(Animal**, int&)’
View.cpp:53:25: error: explicit qualification in declaration of ‘void printDance(Animal*)’
这是我的 promptForAnimals 函数:
void::promptForAnimals(Animal* barn[], int& numAnimals)
{
//Animal* barn[MAX_ANIMALS];
int num;
string name;
cout << "How many birds? ";
cin >> num; cin.ignore();
for (int i=0; i<num; i++) {
cout << "Name " << i+1 << ": ";
getline(cin, name);
barn[numAnimals++] = new Bird(name);
}
etc
}
}
我的 printDanceAnimal 是空的,只有:
void::printDance(Animal*)
{
}
这些错误很可能与我的头文件有关,所以这是一个很好的衡量标准:
#ifndef VIEW_H
#define VIEW_H
#include "Animal.h"
#include "defs.h"
#include <iostream>
using namespace std;
class View
{
public:
View();
~View();
void promptForAnimals(Animal**, int&);
void printDance(Animal*);
};
#endif