Member 12863707 Ответов: 2

Помогите понять мои ошибки.


Я новичок в C++ и пытаюсь создать программу, которая будет имитировать колонию кроликов. До сих пор я только начинаю и хочу, чтобы моя программа принимала пользовательский ввод для запуска программы и на основе пользовательского ввода создавала связанный список для запуска программы.

Я получаю следующие ошибки.
main.cpp:12:10: error: ‘s’ was not declared in this scope
   cin >> s;
          ^
main.cpp:16:2: error: ‘BunnyList’ was not declared in this scope
  BunnyList * colony = new BunnyList;
  ^
main.cpp:16:14: error: ‘colony’ was not declared in this scope
  BunnyList * colony = new BunnyList;
              ^
main.cpp:16:27: error: ‘BunnyList’ does not name a type
  BunnyList * colony = new BunnyList;
                           ^


Что я уже пробовал:

#include <iostream>
#include <string>
#include <ctime>
#include <string>

//#include "ListofBunny.h"

int main (){
	 
	 string s;
	 cout << "Please press 's' to start the pass";
	 cin >> s;
	 
	 while(s == 's' | s == 'S'){
		 //creates a linked list of bunnies 
	BunnyList * colony = new BunnyList;
	 }
	
}

[no name]

Ваша программа не знает, что такое" строка "или" Баннилист". Измените строку s на char s и включите файл, который определяет, что такое BunnyList.

Garth J Lancaster

может быть, у вас есть какие-то операторы "using" после того, как вы включаете свои заголовки ? или, может быть, даже

использование пространства имен std;

что касается BunnyList, то вы уже прокомментировали это

#включить "ListofBunny. h"

Я предполагаю, что именно там находится декларация для BunnyList ?

2 Ответов

Рейтинг:
1

KarstenK

Для использования класса с именем BunnyList вы должны объявить или реализовать его. Обычно заголовок должен иметь имя "BunnyList.h" и иметь такое содержимое:

class BunnyList {
//todo
};

Ваши должны быть типа char
char s = 0;//initial value
BunnyList * colony = new BunnyList();// good style with braces (if class) WITHOUT if struct

Удачи. Посмотрите какой-нибудь учебник на Youtube ;-)


Рейтинг:
0

CPallini

Как уже отмечали другие, вы должны либо использовать using (простите за каламбур) декларация, например

#include <iostream>
#include <string>
#include <ctime>
using namespace std;
//..


или перед с std:: спецификатор объекта, принадлежащего "стандартному" пространству имен, например
int main()
{
  std::string s;
  //..


Более того, если ваша программа использует BunnyList class (или struct) затем вам нужно включить заголовочный файл, объявляющий такой class (или struct).