Print all cycles in a directed graph

  adjacency-matrix, c++, graph

I have an adjacency matrix for a graph. And I need to output all the cycles in this graph. How can I do this using dfs?

void al_dfs(int tmp_vertex,int** Graph,vector<int>& color,int number,vector<int>& result){
    color[tmp_vertex] = 1;
    for(int i = 0;i<number;i++){
        if((color[i] == 0)){ al_dfs(i,Graph,color,number,result); result.push_back(i); };
        if((color[i] == 1)){
            for(int i = 0;i< result.size();i++) cout << result[i] << " ";
    color[tmp_vertex] = 2;

I wrote a small function, but I understand that there is a lot of things that have not been completed yet.

Source: Windows Questions C++