Я пытаюсь использовать структуру и функцию, определяющую структуру в разных файлах.Как предложено здесь Я делаю следующее:
Я определяю свой struct
и сохраняю его в файле agent.h
// File agent.h
#ifndef AGENT_H
#define AGENT_H
#include "stdafx.h"
#include <random>
#include <vector>
#include <iostream>
// Define Nodes and Agents
struct Agent
{
int home, work; // Locations
int status; // S=0; E=1; I=2; R=3
Agent *initialize_agents(int N, int V);
Agent()
{
status = 0;
}
}A;
#endif
Я определил функциюфункции и сохранил его как agent.cpp
// File agent.cpp
#include "stdafx.h"
#include <random>
#include <vector>
#include <iostream>
#include "Agent.h"
using namespace std;
Agent *initialize_agents(int N, int V)
{
Agent *A = new Agent[N];
char fileN[1024] = "myFile.dat";
FILE *f = fopen(fileN, "r"); // Binary File Home Work
int k = 0;
int v = 0;
while (!feof(f))
{
int i, j;
fscanf(f, "%d %d", &i, &j);
A[k].home = i;
A[k].work = j;
k++;
}
return(A);
}
, тогда у меня есть основной файл main.cpp
// File agent.cpp
#include "stdafx.h"
#include <vector>
#include <iostream>
#include "agent.h"
using namespace std;
int main()
{
int Inet;
struct Agent;
int V = 100;
int N = 100;
Agent *A = initialize_agents(N, V); // Initialize Agents
return 0;
}
, и я получил следующую ошибку:
error: 'initialize_agents' was not declared in this scope