English 中文(简体)
retrieving type returned by function using "typeof" operator in gcc
原标题:

We can get the type returned by function in gcc using the typeof operator as follows:

typeof(container.begin()) i;

Is it possible to do something similar for functions taking some arguments, but not giving them? E.g. when we have function:

MyType foo(int, char, bool, int);

I want to retrieve this "MyType" (probably using typeof operator) assuming I know only the name of function ("foo") and have no knowledge about arguments it takes. Is it possible?

最佳回答

In C++ the return value s type is not part of the method signature. Even if there is a way to get the return type of a method, you would have to deal with the possibility of getting multiple methods back and not knowing which one went with the return type you want.

问题回答

typeof is a non-standard extension, so don t use it if you want your code to be portable.

Its syntax is typeof(expression), so you need to give it an expression calling the function (whose type is therefore MyType), like this:

typeof(foo(int(),char(),bool(),int()))

C++0x is going to introduce a Type inference using the decltype and auto keywords.
In C++ you can use typeof (as suggested by Mike Seymour) or the SFINAE principle.





相关问题
Undefined reference

I m getting this linker error. I know a way around it, but it s bugging me because another part of the project s linking fine and it s designed almost identically. First, I have namespace LCD. Then I ...

C++ Equivalent of Tidy

Is there an equivalent to tidy for HTML code for C++? I have searched on the internet, but I find nothing but C++ wrappers for tidy, etc... I think the keyword tidy is what has me hung up. I am ...

Template Classes in C++ ... a required skill set?

I m new to C++ and am wondering how much time I should invest in learning how to implement template classes. Are they widely used in industry, or is this something I should move through quickly?

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

typedef ing STL wstring

Why is it when i do the following i get errors when relating to with wchar_t? namespace Foo { typedef std::wstring String; } Now i declare all my strings as Foo::String through out the program, ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

Window iconification status via Xlib

Is it possible to check with the means of pure X11/Xlib only whether the given window is iconified/minimized, and, if it is, how?

热门标签