‘(’ 标记之前预期的构造函数、析构函数或类型转换

2023-12-30

编译polygone.h and polygone.cc给出错误:

polygone.cc:5:19: error: expected constructor, destructor, or type conversion before ‘(’ token

Code:

//polygone.h
# if !defined(__POLYGONE_H__)
# define __POLYGONE_H__

# include <iostream>

class Polygone {

    public:
        Polygone(){};
        Polygone(std::string fichier);

};

# endif

and

//polygone.cc
# include <iostream>
# include <fstream>
# include "polygone.h"

Polygone::Polygone(string nom)
{
    std::ifstream fichier (nom, ios::in);
    std::string line;

    if (fichier.is_open())
    {
        while ( fichier.good() )
        {
            getline (fichier, line);
            std::cout << line << std::endl;
        }
    }
    else
    {
        std::cerr << "Erreur a l'ouverture du fichier" << std::endl;
    }
}

//ifstream fich1 (argv[1], ios::in);

我的猜测是编译器无法识别Polygone::Polygone(string nom)作为构造函数,但是,如果确实如此,我不知道为什么。

有什么帮助吗?


这不仅仅是一个“新手”场景。我刚刚在重构类以删除一些构造函数参数时遇到了此编译器消息(GCC 5.4)。我忘记更新声明和定义,编译器吐出了这个不直观的错误。

底线似乎是这样的:如果编译器无法将定义的签名与声明的签名匹配,它会认为定义不是构造函数,然后不知道如何解析代码并显示此错误。这也是 OP 发生的事情:std::string与以下类型不同string因此声明的签名与定义的签名不同,并且该消息被吐出。

附带说明一下,如果编译器寻找几乎匹配的构造函数签名,并且在发现签名时建议参数不匹配而不是给出此消息,那就太好了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

‘(’ 标记之前预期的构造函数、析构函数或类型转换 的相关文章

随机推荐

  • 调整包含的图形大小时,FigureCanvasTkAgg 画布小部件的正确滚动/调整大小行为

    我正在尝试使用 Tkinter 和 matplotlib python 3 7 和 matplotlib 3 0 0 制作交互式绘图 GUI 我希望用户能够调整屏幕上显示的图形大小 而无需调整窗口大小 并通过以下方式实现了这一点编辑图窗的
  • java swing 单选按钮 - java.lang.NullPointerException

    我正在尝试掌握 java swing 并正在测试单选按钮 我的代码是 import java awt import javax swing import javax swing ButtonGroup public class Scafho
  • 如何让 Rails 根据 headers 响应 json

    我正在使用 Rails 4 构建一个 API 并在我的控制器中使用respond to来区分html and json请求一切正常 在 Postman 中测试我的 API 时 我添加了以下标头 Content Type applicatio
  • Powershell 相当于 F# Seq.forall

    我写了这个 有效 function ForAll BEGIN allTrue true PROCESS if lt 1 allTrue false END allTrue aList 0 4 bList 1 4 aList ForAll r
  • UWP 检查当前页面的名称或实例

    在我的 UWP 应用程序中 我从协议或 toast 启动 在 onactivated 方法中 我想检查应用程序的主视图是否打开或正在显示哪个页面 全部来自 App xaml cs 我想做这样的事情 If Mainpage is not sh
  • JFreeChart:鼠标单击获取数据源值

    我有一个显示进程内存状态的 JFreeChart 实例 初始化如下 m data new TimeSeriesCollection TimeSeries vmsize new TimeSeries VMSize TimeSeries res
  • java.security.InvalidKeyException:密钥长度不是 128/192/256 位

    我是 Java 新手 尝试使用混合加密 使用 AES 128 对称加密 然后对生成的对称密钥使用 RSA 1024 非对称加密 有人可以帮助我为什么会收到此异常吗 我已经关注了其他帖子 并在相应的文件夹中下载了 Java 加密扩展 JCE
  • R图上的纸张边框

    不确定 R 的plot ly 函数是否具有此功能 我还没有找到它 但我想我会问 Plot ly 确实有一个 paper bgcolor 参数 可以更改绘图所在纸张的颜色 如下所示 mydf data frame x 1 5 y 1 5 pl
  • 没有意图过滤器的 Android BroadcastReceiver

    我在一些 Android 广告网络 sdks 中看到他们声明BroadcastReceiver没有意图过滤器 像这样的事情
  • 从容器连接到主机服务的示例

    我是 Docker 和无人机编程的新手 我能够将 python 脚本 包含 Dronekit 代码 部署到 Windows 10 上的 docker 容器 要运行该脚本 我需要连接到主机上的服务 我在下面提供了一个片段 Windows 有一
  • android:无法制作多线芯片组

    我在相对布局中有一个芯片组以及一个文本视图 其代码如下所示
  • 使用 C++ 静态控制背景颜色

    我正在使用 Windows API 创建一个基本的 GUI 但遇到了一个问题 它从一个主窗口开始 该窗口以我设置的自定义背景颜色打开 RGB 230 230 230 然后 它使用静态控件在左上角显示文本 settingstext Creat
  • 如何在 Windows 上挂载 docker 套接字?

    我正在尝试使一个仅在 Unices 上开发的应用程序在 Windows 上运行 它全部是 dockerized 的 并且使用 traefik 负载均衡器 用于运行 traefik 的 docker 的卷如下所示 volumes var ru
  • Photoshop 沿 y 轴移动图层

    我正在编写一个脚本 该脚本将向右 向左 向上或向下移动图层 这取决于图层的哪个边缘位于画布内 我已经设法使用bounds 0 和bounds 2 使图层左右移动 x轴 但是当我尝试让它向上或向下移动时 它仍然向左 向右移动 难道是我的边界数
  • PHP Zend Route Config.ini - 类似模式

    我正在使用配置文件在我的应用程序中路由我的请求 我有以下条目 路线 deal route deal id 路线 deal defaults controller 交易 路线 deal defaults action 索引 路线 deal r
  • Azure - 在 Powershell 中断开 VNet 集成

    通过 Azure 门户 我可以断开 VNet 集成 如下所示 我需要使用 Az 模块在 Powershell 脚本中执行此操作 这可能吗 只需使用下面的命令 它在我这边工作得很好 Remove AzResource ResourceGrou
  • axios 不发送参数的 POST 请求

    我正在尝试使用以下代码将一些数据从 Vue js 发布到基于 Symfony 的后端 updateQuestion function axios post staff question api this id id test name sr
  • IOError:[Errno 2]没有这样的文件或目录[重复]

    这个问题在这里已经有答案了 我在尝试对文件夹中的许多文件运行迭代时遇到问题 这些文件存在 如果我从文件打印文件 我可以看到它们的名称 我对编程很陌生 你能帮我一下吗 亲切的问候 import os for path dirs files i
  • 如何设置 javapns(iOS 推送通知)?

    我查看了 javapns 的文档 wiki http code google com p javapns http code google com p javapns 不幸的是 本应显而易见的事情对我来说却并非如此 如何设置有效的推送通知服
  • ‘(’ 标记之前预期的构造函数、析构函数或类型转换

    编译polygone h and polygone cc给出错误 polygone cc 5 19 error expected constructor destructor or type conversion before token