void foo(int* x) {
  (*x)++;
}

void bar(const int* x) {
  //foo(x);                    // compiler error
  foo(const_cast<int*>(x));  // succeeds
}

int main(int argc, char** argv) {
  int x = 7;
  bar(&x);
  return 0;
}