C++ to C 差异 &*
C++ to C difference & *
我有一个这样的C++程序:
typedef struct _nodo
{
...
} node;
void cuenta(node& *Lista, char c);
当我编译时没有显示任何错误。现在,当我想将此代码用于 C 程序时,编译器显示错误:
error: expected ')'
void cuenta(node* &Lista, char c);
C++ 和 C 中的 &
和 *
有什么区别?
node& *Lista
将是一个指向C++中某些node
的引用的指针(但这在C++中是不可能的),但引用类型在 C 中不存在,所以它在 C 中是无效node* &Lista
的语法。
因此,在 C 中,您将传递指向指针的指针,例如,声明您的参数node**pLista
并在函数*pLista
内的任何地方使用,而不是 C++ 的Lista
引用。
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- C++ Singleton - Prevent ::instance() to variable
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 将两个数组中的差异记录在第三个数组中
- Visual Studio Code "undefined reference to `WinMain@16'"
- 大小相等但成员数量不同的结构之间的性能差异
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- Python str to C++ to Python str
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- C++constexpr实现差异
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- 旧版c++中结构和类之间的差异
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- "no matching function for call to 'Vector::Vector'"错误
- C++ to C 差异 &*
- C++ const & to regular&p 之间的差异