Я получаю эту ошибку при компиляции этого кода в моем компиляторе. Я протестировал этот код в VSCode и не получил никакой ошибки, но в IDE 'codeblocks' я получаю эту ошибку:
ОШИБКА: неопределенная ссылка на 'Image :: numbers'
Это мой код:
примечание: я не пишу те части моего кода, которые не так важны для решения моей проблемы, как, например, функция getWidth () et c.
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
class Image
{
private:
static vector < vector < vector<bool> > > numbers;
static void setImageMatrix(ifstream& image, vector< vector< vector<bool> > > &matrix, int index)
{
int width = getWidth(image);
int height = getHeight(image);
int zeros = getNumberOfZeros(width);
int lineCharsNumber = width * 3 + zeros;
char pixelsLine[lineCharsNumber];
int end = width*3;
vector <bool> tempVector;
for(int i = 0; i < height; i++)
{
image.read(pixelsLine, lineCharsNumber);
tempVector.clear();
for (int j = 0; j < end; j+=3)
{
int average = charToInt(pixelsLine[j]) * 0.11 + charToInt(pixelsLine[j+1]) * 0.59
+ charToInt(pixelsLine[j+2]) * 0.3;
if(average < 70)
tempVector.push_back(true);
else
tempVector.push_back(false);
}
matrix[index].push_back(tempVector);
}
}
void static setNumbersMatrix()
{
ifstream zeroPic("F:\\Projects\\C++\\-[Project1]Image_Processing\\Images\\0.bmp", ios::in | ios::binary);
setImageMatrix(zeroPic, numbers, 0);
}
и наконец: извините за мой английский sh, я ценю, что если вы мне поможете, спасибо!