【发布时间】:2012-12-24 14:01:23
【问题描述】:
我在创建实例时遇到问题。这确实是微不足道的代码,并且总是可以正常工作,但是当我开始使用 MinGW 编译器进行 C++11 时,发生了这个错误。
main.cpp:16:35: 错误:'myObjekt' 未在此范围内声明
main.cpp:16:50:错误:预期类型说明符 main.cpp:16:50:错误:
预期的';' main.cpp:20:12: error: type '' argument given
到“删除”,预期指针
#include <iostream>
#include "Objekt.h"
int main(int argc, char** argv){
std::cout << "Hi!" << std::endl;
Colonisation::Objekt::Objekt* myObjekt = new Colonisation::Objekt::Objekt(5,4);
std::cout << myObjekt->getXPosition() << std::endl;
std::cout << myObjekt->getYPosition() << std::endl;
delete myObjekt;
return 0;
}
【问题讨论】:
-
错误信息提到第 16 行和第 20 行,但您的代码只有 15 行。
-
你确定是
Colonisation::Objekt::Objekt而不仅仅是Colonisation::Objekt? -
@MartinKravec(回复您对 KerrekSB 的回复)在这种情况下,Kerrek 是对的,应该是
Colonisation::Objekt。不需要(实际上是错误)显式提及构造函数(构造函数总是与类同名)。 -
@MartinKravec(回复您对我的第一条评论的回复)。如果错误消息中的行号与您提供的代码不匹配,并且代码中没有解释错误所指行的 cmets,通常会使任何人都难以回答您的问题。
-
@MartinKravec: ...和KerrekSB正确指出重复类型是错误的。