Я работаю над базовой программой на C ++, которая сортирует массивы с использованием различных алгоритмов сортировки. Мой инструктор предоставил мне класс модульного тестирования, который вызывает мой класс сортировки и вызывает различные методы. При попытке создать экземпляр моего класса сортировки в его тестах я получаю сообщение об ошибке: identifier "class name" is undefined
Я думал, что все, что мне нужно было сделать, чтобы решить эту проблему, это установить конструктор по умолчанию в моем классе сортировки, но это не решило проблему. Это мой Sorts.hpp
, который я настроил.
#ifndef SORTS_HPP
#define SORTS_HPP
class Sorts
{
public:
Sorts();
void bubble(int array[], int size);
void selection(int array[], int size);
void quick(int array[], int size);
};
#endif
, и у меня также есть конструктор по умолчанию, определенный в Sorts.cpp
, просто как это
Sorts::Sorts()
{
}
, и это разделтестового файла, который дает мне ошибку.
#include "gtest.h"
#include "Sorts.hpp"
#define SMALL 10
#define BIG 10000
TEST(SmallSort, Bubble)
{
int* pArray = generateRandomArray(SMALL);
printArray(pArray, SMALL);
Sorts sorter; <--- Error being thrown here
sorter.bubble(pArray, SMALL);
printArray(pArray, SMALL);
checkArray(pArray, SMALL);
}
Я пытался решить эту проблему, возиться с конструктором по умолчанию и определив его в Sorts.hpp
, но это не решило мою проблему (Я действительно не думал, что это будет). Есть идеи?