Я строю проект структур данных, используя cmake
, и я создал класс массива.
Я использовал std::size_t
в качестве параметра для моего конструктора по умолчанию.Но когда я пытаюсь построить проект, появляется сообщение о том, что Invalid use of ::
Я пытался using namespace std;
, но также не работал.
файл barra.h
#ifndef BARRAY_H
#define BARRAY_H
class BArray
{
public:
BArray() = delete; //Declare the default constructor as deleted to avoid
//declaring an array without specifying its size.
BArray(std::size_t);
BArray(int, int); //Constructor that initializes the array with init_val.
private:
int* array;
int length;
};
#endif // BARRAY_H
И barray.cpp
#include <iostream>
#include "barray.h"
BArray::BArray(std::size_t init_size)
{
array = new int[init_size]();
length = init_size;
}
BArray::BArray(int init_size, int init_val)
{
array = new int[init_size];
length = init_size;
for(int i = 0; i < init_size; ++i)
array[i] = init_val;
}
Сообщение об ошибке:
ошибка: недопустимое использование ::