Jump to content

  • Log In with Google      Sign In   
  • Create Account


Cordan

Member Since 07 Aug 2012
Offline Last Active Oct 24 2012 02:25 AM
-----

Topics I've Started

Bad access in virtual methods (iOS ARM)

28 September 2012 - 02:01 PM

I getting EXC_BAD_ACCESS in virtual methods when i run program on iPad.
It happens only if method returns registered data type and if method have virtual definition in base class.

My code:

[source lang="cpp"]virtual my_type Base::method() = 0;...my_type Derived::method(){ ... this->field = 10; // EXC_BAD_ACCESS ...}[/source]

If i replace code above with:
[source lang="cpp"]virtual void Base::method(my_type &res) = 0;...void Derived::method(my_type &res){ ... this->field = 10; // OK ...}[/source]
problem will disappear.

I have this problem only on ios device. i've tested my code on windows, osx and iphone simulator - all is ok. If i replace 'my_type' to 'int' all is ok as well.

It looks like calling of virtual methods with wrong object.

So, what it can be?

ps: as version - 2.25.0

Using const char*

07 August 2012 - 02:29 PM

I have a lot of functions that using const char* as argument type. Can i bind these functions? Or i necessarily have to using std::string?

What i would like to do:
C++:
void print(const char *str){
	 printf("%s",str);
}

Script:
print("text");

Thanks in advance.

PARTNERS