dear everyone

I want to construct multicast tree base on the network topology generated by the stanford graph.
The source code below can run without error, and have the right output:
The file is open!
m:28
n:10

But when I add the algrithom dijkstra_shortest_paths.
The error messages show as below:
Description    Resource    Path    Location    Type
no matching function for call to ‘num_vertices(Graph* const&)’ MulticastTree2 line 190,
external location: /usr/include/boost/graph/dijkstra_shortest_paths.hpp    C/C++ Problem
Description    Resource    Path    Location    Type
no matching function for call to ‘out_edges(Vertex*&, Graph* const&)’  MulticastTree2 line 76,
external location: /usr/include/boost/graph/breadth_first_search.hpp    C/C++ Problem
Description    Resource    Path    Location    Type
no matching function for call to ‘vertices(Graph* const&)’ MulticastTree2 line 375,
external location: /usr/include/boost/graph/dijkstra_shortest_paths.hpp    C/C++ Problem


I find the num_vertices\out_edges\vertices are redefined in the stanford_graph.hpp.
So I change the order of the include files as below:
#include <boost/graph/stanford_graph.hpp>
#include <boost/graph/dijkstra_shortest_paths.hpp>


The errors above disappear, and New errors come up:
Description    Resource    Path    Location    Type
‘g’ was not declared in this scope    MulticastTree2        line 408,
external location: /usr/include/boost/graph/named_function_params.hpp    C/C++ Problem
Description    Resource    Path    Location    Type
‘t’ was not declared in this scope    MulticastTree2        line 408,
external location: /usr/include/boost/graph/named_function_params.hpp    C/C++ Problem
Description    Resource    Path    Location    Type
‘u’ was not declared in this scope    MulticastTree2        line 463,
external location: /usr/include/boost/pending/relaxed_heap.hpp    C/C++ Problem
Description    Resource    Path    Location    Type
expected ‘,’ or ‘...’ before ‘.’ token    MulticastTree2        line 402,
external location: /usr/include/boost/graph/named_function_params.hpp    C/C++ Problem
Description    Resource    Path    Location    Type
expected initializer before ‘.’ token    MulticastTree2        line 462,
external location: /usr/include/boost/pending/relaxed_heap.hpp    C/C++ Problem


It's confusing for me, can you tell me what's the problem is
and any way i can try to solve the problems above.
Thank you.

source code:
#include <boost/config.hpp>
#include <iostream>
#include <string>
#include <fstream>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/adjacency_list.hpp>

#include <boost/graph/dijkstra_shortest_paths.hpp>
#include <boost/graph/stanford_graph.hpp>

using namespace boost;

int main(int argc, char *argv[])
{
    Graph* inputG;

    char *in_filename = "r10-0.gb";
    inputG = restore_graph(in_filename);
    if (inputG){
        std::cout << "The file is open!" << "\n";
        std::cout << "m:" << inputG->m << "\n";
        std::cout << "n:" << inputG->n << "\n";
    }
    else
        return 0;

    graph_traits<Graph*>::vertex_descriptor s = *boost::vertices(inputG).first;
    typedef property_map<Graph*, z_property<long> >::type Distance;
    Distance d = get(z_property<long>(), inputG);
    typedef property_map<Graph*, w_property<Vertex*> >::type Parent;
    Parent p = get(w_property<Vertex*>(), inputG);

//    dijkstra_shortest_paths(inputG, s,
//            predecessor_map(get(w_property<Vertex*>(), inputG)).
//            distance_map(get(z_property<long>(), inputG)).
//            weight_map(get(edge_length_t(), inputG))
//            );

    gb_recycle(inputG);

    return 1;
}