All pastes #60804 Raw Edit

Miscellany

public text v1 · immutable
#60804 ·published 2006-06-01 23:00 UTC
rendered paste body
// before main begins
enum SetLattice {
  SETLATTICE_RANDOM,
  SETLATTICE_DENSITY,
  SETLATTICE_FILE
};

typedef struct CmdLineArgs {
  int lattice_m;
  int lattice_n;
  int vacs;
  float density;
  char *vac_filename;
  SetLattice setup;
} cmdline_args;

// then, in main...

  CmdLineArgs cmd; // initialized to some values

  switch(cmd.setup) {
  case SETLATTICE_DENSITY: // randomly according to density
    dvac.addDensityVacs(cmd.density);
    break;
  case SETLATTICE_FILE:  // place vacancies as dictated in file
    ifstream config_in;                       // <-- This is line 70!
    getDimerLocations(config_in, cmd.vac_filename);
    dvac.addFileVacs(config_in);
    config_in.close();
    break;
  default:  // add cmd.vacs vacancies at random  <-- This is line 75!
    addRandomVacs(cmd.vacs);
  }

// below are compile time errors:
divac.cpp: In function `int main(int, char**)':
divac.cpp:75: error: jump to case label
divac.cpp:70: error:   crosses initialization of 'std::ifstream config_in'