On 29.09.2013 13:16, Damien R wrote:
Hi,

I am using valgrind 3.7.0 and with the following program, valgrind reports no error.

#include <iostream>

struct Foo
{
  void print()
  {
    std::cout << "foo" << std::endl;
  }
};

int main()
{
  Foo * foo = new Foo;
  delete foo;
  foo->print();
  return 0;
}

Can someone explain why valgrind does not report any error?

Hi!

You call Foo::print() on a deleted instance of Foo, but this method does not access any data from inside Foo and is no virtual method.
So nothing happens, that valgrind should complain about.

Regards
Matthias

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to