问题标签 [non-member-functions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 非成员模板友元函数默认参数值错误
为什么下面的代码可以用 GCC 编译,但不能用 Clang?谁是对的,为什么?
使用 clang++ 时出现以下错误:
GCC 版本:g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Clang 版本:clang 版本 6.0.0-1ubuntu2
我该如何解决这个问题?
c++ - 没有操作符 ">>" 匹配这些操作数操作数类型是:std::istream >> double
对于我的项目,我正在尝试为复数类创建一个免费函数。它在 cpp 文件中定义。该函数是一个重载的输入流操作符,但我不断收到错误
线上
我创建了一个名为的文件complex.h
,其中包含complex
类和两个我想要工作的重载运算符、复数的构造函数(不确定是否需要但包括在内),以及两个用于检索复杂类的实部和虚部的 getter 方法。这会重现错误。
成员函数的声明由我的项目规范决定。它们的返回类型不能更改。
c++ - 如何从非类函数c ++编写类内函数?
我有一个非类的合并功能。
合并.cpp
通常,我像这样在 main 中调用 merge 。
但是,我想这样调用 main 。
为了以第二种方式调用,我教我需要一个不接受 Sorter 类的参数和参数的成员函数。所以,我实现了我的成员函数,如下所示。
分拣机.cpp
我进行了研究,发现这是关于辅助功能的,但我无法弄清楚。我的方法是否正确?
c++ - C++链表非成员函数反向打印
所以我了解了如何使用递归以相反的顺序打印单个链表。我在做非成员函数时遇到了麻烦。例如在int print_reverse(IntSLList & list))
函数中如何以迭代方式打印反向?
这是主要的
新增功能
c++ - C++ 中的自由函数
我想将 v2 添加到 v1。我的成员功能正在工作,但免费功能却没有。我该如何解决这个问题,谢谢。
当我编译时: clang++ -std=c++2a hw1.cpp -o hw1 并运行: ./hw1
给出 5 作为输出。
c++ - 按类 C++ 的不同数据成员排序
所以,我基本上学习了 C++ 中的类和模板函数。假设我有一个班级学生的记录,包括他们的卷号、姓名和总分。我正在使用索引排序对记录进行排序。现在可以根据姓名、卷或总分进行排序。如何使用模板函数合并所有三个?
因此,我不想一次又一次地编写函数,而是想用 r[a[j]].roll 和 r[a[j]].total 替换 r[a[j]].name。那可能吗?
c++ - 如何声明返回在同一个类中使用的类实例的函数?
我已经尝试了几周并搜索了几天的答案,但没有找到。我的代码相当大且相互交织,但我的问题在于 3 个函数/类,因此我只会显示我的声明和相关信息。我有以下不兼容的代码:
我已经尝试了所有可以声明函数或类的可能性,但没有找到解决方案。起初我只在构造函数中使用了 search_in_file() 函数(现在与函数 fill() 存在相同的问题),并在类中声明和定义了 search_in_file() 函数。然后它像上面的代码一样工作(唯一的例外是朋友函数也是具有定义的实际函数)。但是我需要在没有声明 Word 对象的情况下使用该函数,因此它需要在类之外。我怎样才能让它工作?
我还应该指出,我还有另一个使用 Word 作为参数的非成员函数,并且该函数适用于上述解决方案。尽管它具有重载版本,但它不使用 Word 作为在类之前声明的参数,我认为这就是它起作用的原因。
c++ - what operators should be methods , friends, and non-member function?
I have searched for a specific answer for my question and i couldn't find one , so here is my question:
I know that if we have
operator+
andoperator+=
+=
should be a method and+
a non-member function but what if we didn't haveoperator+=
, shouldoperator+
befriend
then ?I also know that symmetrical operators should be 'non-members' and 'friends' if needed , and I can see how
==
!=
are symmetrical operators, but what about<
,>
,>=
,<=
are they symmetric? and why ? I meanA<B
is not the same asB<A
, so are they symmetric? should they be declared as non-members? friends?
c++ - 尝试使用非成员重载运算符但出现错误?
我正在尝试将 << 运算符重载为非成员重载运算符,以使其在对象的内容上打印数据。
Point2D.h
然后在 Point2D.cpp 文件中我有
但我的错误是