Ошибка LNK 2001 неразрешенный внешний символ int b
Подскажите пожалуйста, как исправить эту ошибку ( LNK 2001 неразрешенный внешний символ int b)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ofstream file2("output.txt");
int c = 0;
//vector <int> b;
int b[];
void check_svyazn(int v, vector<vector<int>> arr, int d) {
b[v] = 1;
c++;
for (int i = 0; i < arr.size(); i++)
if (arr[v][i] == 1 && b[i] == 0) {
check_svyazn(i, arr, d);
}
}
int main()
{
ifstream file("input.txt");
int n;
file >> n;
int m = n;
vector <vector<int>> arr(n);
while (!file.eof() && m > 0) {
for (int i = 0; i < n; i++)
{
int x;
file >> x;
arr[i].push_back(x);
}
m--;
}
file.close();
b[n];
check_svyazn(0, arr, n);
if (c == n)
file2 << "YES";
else
file2 << "NO";
file2.close();
}
Ответы (1 шт):
Автор решения: HolyBlackCat
→ Ссылка
Странно, что MSVC вообще пропускает int x[] и выдает ошибку линковки, а не компиляции. Clang и GCC ругаются.
Размер массива должен быть известен при его создании. Либо напишите в скобках число (вряд ли здесь подходит), либо возьмите вместо массива вектор.