Request for member ‘bar’ in ‘aFoo’, which is of non-class type ‘Foo*’

 

From Cppsyntax

Jump to: navigation, search

You can get this error if you use a "." where you should use a "->" to connect a method to an instance.

Use dots if the thing on the left-hand-side is an object; use an arrow if it is a pointer to an object. For example:

WRONG

  Foo *fooPtr = new Foo();
  fooPtr.bar(3);          // pointers use ->

RIGHT

  Foo *fooPtr = new Foo();
  fooPtr->bar(3);

WRONG

  void blort(Foo aFoo)
  {
    aFoo->bar(3);         // objects use .
  }


RIGHT

  void blort(Foo aFoo)
  {
    aFoo.bar(3);         
  }
posted @ 2010-08-26 21:23  SouthIsland  阅读(3150)  评论(0编辑  收藏  举报