我一直在寻找解决问题的方法,而发布的方法似乎无效。我试图在Visual Studio 2012中运行以下命令。我以前在编程中使用了Eclipse,并且正在适应新的IDE。

    class
    IntSLLNode{
    public:
    int info;
    IntSLLNode *next;

    IntSLLNode(){
    next = 0;
    }

  IntSLLNode (int el, IntSLLNode *ptr= 0) {
  info = el;
  next = ptr;
  }

};

int main(){

#include <iostream>

using namespace std;

IntSLLNode *p = new IntSLLNode(18);
cout << *p;

return;

}

当我尝试运行该命令时,它在cout下给我一个错误。我已经像平常一样包含了iostream和std namespace 。那不正确吗?任何人都可以帮助我使它正常工作,因为我非常喜欢Visual Studio IDE的外观,并希望继续使用它。

最佳答案

这里的问题是线

#include <iostream>
using namespace std;

不应在main内。相反,它们应该位于程序的顶层。您的程序应该看起来更像
#include <iostream>
using namespace std;

/* Other definitions */

int main() {
    IntSLLNode *p = new IntSLLNode(18);
    cout << *p;
}

此外,您有以下声明
return;

返回int的函数内部,这是不允许的。尝试将其更改为
return 0;

或者,因为这是main,所以只需一起跳过return即可。

希望这可以帮助!

09-06 05:38