c++-C++成员函数前加类型,在g++下的编译错误,在vs2012下编译通过,什么原因

问题描述

C++成员函数前加类型,在g++下的编译错误,在vs2012下编译通过,什么原因
abc.cpp
#include
using namespace std;
class MY
{
public:
void MY::print()
{
cout<<""sdjflsdj""<<endl;
}

};
int _tmain(int argc _TCHAR* argv[])
{
MY my;

my.print();return 0;

}
g++ abc.cpp
abc.cpp:9: error: extra qualification ‘MY::’ on member ‘print’
去掉MY::编译通过

解决方案

1。有可能是g++不支持
2。编译时加上-std=...指定用什么标准试试

解决方案二:
public:
void MY::print()
gcc不支持这个写法
修改为
public:
void print()

解决方案三:
不同编译器语法支持有一些区别。你可以去掉MY,然后来支持g++

解决方案四:
这只能说明visual stdio 高版本要比GCC牛逼得多, 因为他考虑问题更为全面, 这就是个活生生的例子...

时间: 2024-08-22 14:07:15

c++-C++成员函数前加类型,在g++下的编译错误,在vs2012下编译通过,什么原因的相关文章

c++-哪位大神帮忙解释一下类成员函数后面加const什么意思

问题描述 哪位大神帮忙解释一下类成员函数后面加const什么意思 哪位大神帮忙解释一下类成员函数后面加const什么意思 尽量清晰点 谢谢大神 感觉c++好难的 附加问一句c语言数据结构c++应该怎么顺序来看这些书 解决方案 原回答中第二段代码的注释有误,应该是"常量成员函数"(提交后竟然不能再编辑修改了...). C++语言和数据结构可以同步学,数据结构中用到的语言特性并不多. 解决方案二: 函数加CONST 就是证明 这里面用到的数据成员 也都会按常量来处理,一些修改操作是不可行的

c++-C++成员函数调用时,提示未定义标识符的错误

问题描述 C++成员函数调用时,提示未定义标识符的错误 //A.h class A { public: void fun1(); void fun2() void fun3(); }; //A.cpp #include"A.h" void A::fun1() { fun2();//出现未定义标识符的错误,如果在其他函数中,如fun3()调用就没事 } 求大神解答!实在不知道是什么问题 解决方案 你A.h中的定义 fun2()后面少个分号; 解决方案二: 非静态成员函数不能这么调用 解决

C++成员函数指针的应用

 C++中,成员指针是最为复杂的语法结构.但在事件驱动和多线程应用中被广泛用于调用回叫函数.在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数.在这样的应用中,如果不用成员指针,编程是非常困难的.  刚遇到这种语法时也许会让你止步不前.但你会发现,使用恰当的类型定义之后,复杂的语法是可以简化的.本文引导你了解成员函数指针的声明,赋值和调用回叫函数.  成员函数指针的声明  一个成员函数指针包括成员函数的返回类型,后随::操作符类名,指针名和函数的参数.初看上去,语法有点复杂.其实可以把

C++普通函数指针与成员函数指针实例解析_C 语言

C++的函数指针(function pointer)是通过指向函数的指针间接调用函数.相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生.本文即对C++普通函数指针与成员函数指针进行实例解析. 一.普通函数指针 通常我们所说的函数指针指的是指向一般普通函数的指针.和其他指针一样,函数指针指向某种特定类型,所有被同一指针运用的函数必须具有相同的形参类型和返回类型. int (*pf)(int, int); // 声明函数指针 这里,pf指向的函数类型是int (

PHP 前加at符合@的作用解析_php实例

大家在做PHP项目时,总是有些代码行前加上@符号,大家都知道是什么意思吗?下面给大家分享下PHP中函数前加at符合@的作用解析 今天用到了,就记一下吧.其实它是错误控制符,即使出现错误,也无视出现的错误信息,继续执行下边的代码. 复制代码 代码如下: @$page=$_GET['page']?intval($_GET['page']):1; 这句是从URL中获取page关键字的值,比如"index.php?page=5",则$page就会取到5. 但是如果有error,比如"

link环境下如何调用成员函数,如果这个类是abstrac的呢?

问题描述 link环境下如何调用成员函数,如果这个类是abstrac的呢? link环境下如何调用成员函数,如果这个类是abstrac的呢? 解决方案 那必须先继承一个抽象类,把抽象函数都实现了,然后去实例化这个类才行

成员函数、-c++用成员函数和友元函数实现复数的加减操作,产生了二义性,麻烦各位大哥大姐解答一下,感激不尽

问题描述 c++用成员函数和友元函数实现复数的加减操作,产生了二义性,麻烦各位大哥大姐解答一下,感激不尽 我想在一个程序中用友元函数和类的成员函数实现复数的加减操作, 类中这样定义: main函数中用这几句调用的话存在二义性: c3=c1+c2;这一句就不知道到底该调用成员函数还是调用友元函数,但是重载的话只有参数类型和参数个数不同,就应该没问题的,这里该怎么解决呢? 麻烦各位大哥大姐了:下面是程序的代码, #include class Complex { public: Complex(dou

C++中Operator类型强制转换成员函数解析_C 语言

类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换.转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的目标类型.转换函数又称类型强制转换成员函数,它是类中的一个非静态成员函数.它的定义格式如下: 复制代码 代码如下: class <类型说明符1> { public: operator <类型说明符2>(); - } 这个转换函数定义了由<类型说明符1>到<类型说明符2

php中引用(变量和函数名前加&amp;符号)用法

  在 PHP 中引用意味着用不同的名字访问同一个变量内容.这并不像 C 的指针,它们是符号表别名.注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字.PHP的引用是通过在变量名或者函数名前加&符号来实现的.下面解释一下引用的几种用法: 先来看官方法的说明 引用做什么 PHP 的引用允许用两个变量来指向同一个内容.意思是,当这样做时: <?php $a =& $b; ?> 这意味着 $a 和 $b 指向了同一个变量. Note: $a 和 $b 在这