What can be done in VC++ (native) that can’t be done with VC#?
From what I can tell the only thing worth using VC++ native for is when you need to manage memory yourself instead of the CLR garbage collector, which I haven’t seen a purpose in doing either (but thats for another question to be asked later).
I’m not sure if you’re talking about language features or applications. My answer though is for applications / components.
Really there are only 2 things you cannot do in C# that you can do in C++.
The most notable item here is Device Drivers. This is a framework that only accepts native components and there is no way to plug in a managed component.
For everything else it’s possible to do the same thing in C# as it is in C++. There are just a lot of cases where you simply don’t want to and a native solution is better. It’s possible for instance to manage and manipulate memory in C# via unsafe code or IntPtr. It’s just not nearly as easy and generally there’s no reason.