小编use*_*436的帖子

从子类访问私有继承类的名称

以下代码无法使用g ++编译此错误以及与clang类似的错误.

main.cpp:16:19: error: 'QByteArray' is a private member of 'QByteArray'
        Container2(const QByteArray &ba);
                         ^
main.cpp:3:18: note: constrained by private inheritance here
class Container1:private QByteArray
                 ^~~~~~~~~~~~~~~~~~
../edge-clang/qt5/include/QtCore/qbytearray.h:167:21: note: member is declared here
class Q_CORE_EXPORT QByteArray
                    ^
main.cpp:18:30: error: 'QByteArray' is a private member of 'QByteArray'
Container2::Container2(const QByteArray &ba):Container1(ba){}
                             ^
main.cpp:3:18: note: constrained by private inheritance here
class Container1:private QByteArray
                 ^~~~~~~~~~~~~~~~~~
../edge-clang/qt5/include/QtCore/qbytearray.h:167:21: note: member is declared here
class Q_CORE_EXPORT QByteArray
                    ^
Run Code Online (Sandbox Code Playgroud)

我不明白为什么Container2不允许继承Container1并通过公共构造函数初始化它,即使QByteArray的继承是私有的.

#include <QByteArray>

class Container1:private QByteArray
{
public: 
    Container1() {} …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance

30
推荐指数
1
解决办法
1102
查看次数

Qt for Open on OpenSuse 13.2

我刚刚从Opensuse 13.1升级到13.2,并且无法让我的Qt开发让android正常工作.我的调查让我相信它更像是一个Android开发问题(蚂蚁)而不是与Qt有关.

在尝试部署示例项目时,我收到以下错误.我发现它可能与缺少的xml-apis包有关,可能xml-commons包应该提供这个功能,但它们似乎没有.

我对Java并不熟悉,现在已经坚持了一段时间.任何建议赞赏.

22:46:33: Starting: "/home/bobstaff/Qt/5.3/android_armv7/bin/androiddeployqt" --input /home/bobstaff/Qt/Examples/Qt-5.3/quick/scenegraph/build-openglunderqml-Android_for_armeabi_v7a_GCC_4_9_Qt_5_3_2-Debug/android-libopenglunderqml.so-deployment-settings.json --output /home/bobstaff/Qt/Examples/Qt-5.3/quick/scenegraph/build-openglunderqml-Android_for_armeabi_v7a_GCC_4_9_Qt_5_3_2-Debug/android-build --deployment bundled --install --ant /usr/bin/ant --android-platform android-21 --jdk /usr/lib64/jvm/java-1.7.0-openjdk --device 10.1.2.5:5555
22:46:33: Pulling files necessary for debugging.
22:46:33: Package deploy: Running command '/home/bobstaff/android/adt-bundle-linux-x86_64-20140702/sdk/platform-tools/adb -s 10.1.2.5:5555 pull /system/bin/app_process /home/bobstaff/Qt/Examples/Qt-5.3/quick/scenegraph/build-openglunderqml-Android_for_armeabi_v7a_GCC_4_9_Qt_5_3_2-Debug/app_process'.
22:46:33: Package deploy: Running command '/home/bobstaff/android/adt-bundle-linux-x86_64-20140702/sdk/platform-tools/adb -s 10.1.2.5:5555 pull /system/lib/libc.so /home/bobstaff/Qt/Examples/Qt-5.3/quick/scenegraph/build-openglunderqml-Android_for_armeabi_v7a_GCC_4_9_Qt_5_3_2-Debug/libc.so'.

BUILD FAILED
/home/bobstaff/android/adt-bundle-linux-x86_64-20140702/sdk/tools/ant/build.xml:407: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at …
Run Code Online (Sandbox Code Playgroud)

java ant qt android

4
推荐指数
1
解决办法
644
查看次数

标签 统计

android ×1

ant ×1

c++ ×1

inheritance ×1

java ×1

qt ×1