incomplete-type

    3热度

    4回答

    我在C11标准中发现的所有不完整类型都是不完整的数组类型。我想知道是否有非数组不完整类型。

    1热度

    1回答

    我正在使用mbed库并希望将成员函数附加到也是成员的Ticker(定期调用回调函数)。我可能有多个班级实例,我希望每个实例都能够管理自己的Ticker,并允许回调函数处理其各自的数据。 代码: * header */ class MyClass { uint16_t time; Ticker ticker; void Init(); void SendMe

    0热度

    2回答

    我在做什么: 我有两个文件:game.h和sound_controller.h。他们两人都有冲突。 game.h需要有一个SoundController,而sound_controller.h需要有一个Game,所以它们都包含了彼此的头文件。 问题: game.h线26: error: field soundController has incomplete type 'SoundControll

    4热度

    3回答

    在“C++ primer”一书中,有关于类声明和定义的章节。我不明白这句话的所有内容: 只有在类已定义的情况下,才能将数据成员指定为类类型。 我不明白这句话背后的逻辑。如何将数据成员指定为类类型,此操作是什么意思?

    3热度

    2回答

    我想与外部连接和不完整的类型声明进行实验,并写了这个例子: Source.cpp: //Source.cpp class A { public: int a=10; }; A* var1 = new A(); void printA(A* arg) { cout << arg->a << endl; } Source1.cpp: //Source1.cpp

    1热度

    1回答

    未申报是否有可能检查2个变量(如b和c)的基本类型之间的继承(如B和C)如果两者都没有在范围内声明? 我认为这是不可能的,但我不确定。 Test1.h: - #include <vector> class A{}; std::vector<A*> test1(); Test1.cpp: - #include "Test1.h" class B : public A{}; class C

    7热度

    2回答

    如何检查某个类型是否在某个.cpp中是完整类型? template<class T>class Test{ //some fields void(*functor)(T*) =[](T*){}; //^ will be written by some .cpp that can access T as complete-type T* t=nullptr;

    0热度

    1回答

    近日在回答一个问题在这里if-else depends on whether T is a complete type我意识到,下面无法编译 #include <iostream> #include <type_traits> using namespace std; class Incomplete; class Complete {}; template <typename I

    1热度

    2回答

    这个例子显示编译器(msvc14,gcc,clang)的奇怪行为,但是我没有找到解释。 当我们实现pipml习语并使用前向声明时,我们需要考虑unique_ptr具有自己的具有不完整类型的特定行为。 这种情况被提及here和here。 但是,当我们将转发类的定义移动到另一个头文件并在稍后使用客户类时在一个地方包含头文件时,编译器变得疯狂 - 在某些特殊的析构函数声明中,他们说关于不完整类型。 这是

    0热度

    1回答

    我来到了同一个问题在我们的代码库这里 Can't allocate class with forward declared value in std::map member variable 描述。 Hoever我还发现其他情况下,我们的编译器(MSVC 2017年)能够编译这个... 用我发现,在CPP定义CON组&析构函数允许文件来编译代码摆弄左右后。 在test.h: #ifndef TES