相談です.

#include <stdio.h>
#include <string.h>
class A {
public:
char m_str[10];
};
class B {
public:
A m_data;
inline A getData( void ) const{ return m_data; }
};
int main(void)
{
B classB;
strncpy( classB.getData().m_str, (char*)"123456789", 10 );
printf("%s\n", classB.getData().m_str);
return 0;
}

以上のコードで詰まってるんです.
どこが悪いのかわからないのですが教えていただけないでしょうか.