Итак, я начал реализовывать граф на С ++. Граф имеет ребра - исходный узел - узел назначения (если он направлен)
Поэтому я создал структуру
struct Edge {
int src, destin;
};
позже, хотя я решил изменить структуру Edge на строки
struct Edge {
string src, destin;
};
после того, как я это сделал, хотя я не смог присвоить эти переменные строкам.
в моей функции main () у меня есть
#include "graph.h"
int main() {
Edge e;
//e.src = 0 // use to be this
e.src = "P2" //this is an assignemnt error. it wants an int and is getting a char[3]
return 0;
}
ЗДЕСЬ ВСЕ КОД:
#include "graph.h"
int main(int argc, char * argv[]){
int num_p;
int num_r;
vector<int> num_of_units;
Edge e;
vector<Edge> edges;
e.src = "P2";
// e.src = 0;
// e.destin = 29;
// edges.push_back(e);
return 0;
}
Graph.h ниже
#ifndef graph_h
#define graph_h
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
struct Edge {
string src;
string destin;
};
class Graph {
public:
//adj matrix
vector<vector<string > >adjL;
//constructor
Graph(vector<Edge> edges, int n){
adjL.resize(n);
// adjL.push_back(edges);
//adding edges
for(int i = 0; i < edges.size(); i++)
{
vector<string> temp;
temp.push_back(edges[i].src);
temp.push_back(edges[i].destin);
adjL.push_back(temp);
}
}
};
void printG(Graph graph, int n);
#endif
То, что я уже пробовал: - Очистить - Перезапустить Xcode - Перезапустить Ma c
РЕДАКТИРОВАТЬ: я думаю, что я понял это ! в основном я начал кодировать это с vim. Позже я решил, что после того, как у меня было создано несколько файлов, я хотел бы перейти на IDE, иначе Xcode. Когда я пошел, чтобы добавить все файлы, некоторые из них были связаны со старыми, а некоторые были созданы для проекта xcode. поэтому я изменил бы код в файле, который был в xcode, но я не менял файл, который xcode фактически использовал бы для запуска. он будет использовать другой файл с тем же именем.