 
     // Create and initialize CUDA thread output structs
     std::vector<EDGE_OUTPUT> outputs(E_num);
-    outputs.resize(E_num, {0});
+    outputs.resize(E_num);
 
     // Pointers of V, E_u, E_v, and edge outputs in GPU memory
     int* V_ptr;


    // Nested vector used to store read file into adjacency list
    std::vector< std::vector<int> > adj_list;
    
    // Input network file provided by user
    // File format assume to be edge list
    std::ifstream infile(argv[1]);

    int V_size = (V_num + 1) * sizeof(int);
    int E_size = E_num * sizeof(int);
    int outputs_size = E_num * sizeof(EDGE_OUTPUT);

    // Malloc GPU memory and store location in pointers
    cudaMalloc((void**)&V_ptr, V_size);
    cudaMalloc((void**)&E_ptr, E_size);
