C++ 不完整类型,这是什么意思?

C++ 不完整类型,这是什么意思?,c++,C++,我试图调试我的程序,并且从名为intInputFile的文件中读取值。我查看了我的局部变量,发现上面写着intInputFile=不完整类型。我试着查了一下,但没有明确的答案,我不知道这意味着什么。有谁能解释一下,因为我觉得这会把我的计划搞砸 谢谢 intInputFile >> fileInt; cout << "check" <<endl; while(!intInputFile.eof()) { intNode* anotherInt;

我试图调试我的程序,并且从名为intInputFile的文件中读取值。我查看了我的局部变量,发现上面写着intInputFile=不完整类型。我试着查了一下,但没有明确的答案,我不知道这意味着什么。有谁能解释一下,因为我觉得这会把我的计划搞砸

谢谢

intInputFile >> fileInt;
cout << "check" <<endl;
while(!intInputFile.eof())
{
    intNode* anotherInt;
    anotherInt = new intNode;
   if(intList==NULL)
   {
       intList = anotherInt;
       lastInt = anotherInt;
       lastInt->nextNode = NULL;
       lastInt->nextNode = new intNode;
   }
   else
   {
      lastInt = lastInt->nextNode;
      lastInt->nextNode = NULL;
      lastInt->nextNode = new intNode;
   }
   lastInt->intValue = fileInt;
   intInputFile >> fileInt;
   cout << "good" <<endl;
}

Missed include或multiple include或导致
intInputFile
类型定义在该行代码中不可见的内容。

“不完整类型”表示提供消息的工具(通常是编译器,但在您的情况下是调试器)不确切知道该类型的外观。它知道有一个类型,但不知道它有哪些成员,也不知道它们在内存中是如何排列的

如果调试器告诉您这一点,它是无害的。它不会影响程序的执行,但可能会限制调试选项(如果需要查看未知类型的成员)


如果编译器告诉您这一点,您就有一个严重的问题,因为编译器无法检查代码是否实际有效。此错误通常是由于定义类型的标题缺少
#include
行造成的。

代码片段将有助于调查确切原因。可能它只是一个不完整的类型…@VallabhPatade我编辑了我的原始帖子。@K-ballo我不确定这是什么意思。嗯,如果它是一个不完整的类型,那么使用它的方式将是一个错误,所以它可能只是一个调试器的怪癖。。。它是一种已声明但未定义的类型。@AA您需要向我们显示您在函数中定义
intInputFile
的位置以及您在函数中定义intInputFile的includesI列表,我是否必须在main中定义它?@AA您在定义它的行中是否给出任何错误?类似于预期的
输入文件之前
?您尝试过std::ifstream吗?我在定义文件时没有遇到任何错误。不,我没有试过,但我会的。
   #include <iostream>
   #include <string>
   #include <fstream>
  int fileInt; //int read from input file
  ifstream intInputFile;