c ++,Visual Studio express得到奇怪的运行时前错误

c++, Visual studio express getting strange pre-runtime errors

本文关键字:运行时 错误 Visual Studio express      更新时间:2023-10-16

我在.cpp文件中的这几段代码中遇到了运行时前错误。

iFileName突出显示并显示"错误:此声明没有存储类或实例类型"。

iFileNameiWidth 之间的逗号表示"错误:预期的声明"

右括号表示"错误:预期声明"

#include <iostream>
#include <fstream>
#include "BMPCanvas.h"
#include "Fractal.h"
using namespace std;
BMPCanvas(string iFileName, int iWidth, int iHeight){
    filename = iFileName;
    width = iWidth;
    height = iHeight;
} 

有谁知道为什么我会出错?

你需要像这样定义你的构造函数:

BMPCanvas::BMPCanvas (string iFileName, int iWidth, int iHeight)

另外,您应该添加一个 #include <string> .

首先,您必须包含string标头。如果没有它,string 不会被识别为类型名,string iFileName也不会被识别为正确的声明。这就是您所说的"运行时前"错误的原因。

其次

BMPCanvas(string iFileName, int iWidth, int iHeight) {

不是有效的函数声明。C++中的函数声明必须指定返回类型。唯一允许省略返回类型的函数是构造函数、析构函数和转换运算符。你的都不是。

尝试使用字符串标头。

#include <string.h>