Search:
Namespaces
Discussions
.NET v1.1
Feedback
Warning C4800
Messages
Related Types
This message was discovered on
microsoft.public.dotnet.languages.vc
.
Post a new message to this list...
Jazzkt
I have a little issue I hope you can help me with. I retrieve the processes
that are running on my computer and get the C4800 warning in certain
situations. The code snippet below illustrates my challenge.
Process* localAll[] = Process::GetProcesses();
printf("\nProcess name: %s",localAll[x]->ProcessName); //works fine
cout << "Process name: " << localAll[x]->ProcessName << endl; //c4800
// writing to a file
writeFile << "Process name: " << localAll[x]->ProcessName << endl; //c4800
warning C4800: 'System::String __gc *' : forcing value to bool 'true' or
'false' (performance warning)
Why does it work with 'printf' but not with the others?
Reply to this message...
Felix Arends
I'm sorry I can't exactly tell you the solution to your problem, but
printf takes whatever parameters you pass, so it doesn't exspect
anything. cout, however, seems to exspect a boolean value in this
situation. I doubt that there is an operator (<<) defined for cout which
takes a System::String as parameter, but I am not sure about this. So
maybe the compiler tries to pass a boolean value instead of a String --
try converting to a C-style string before passing it to cout or
writeFile.
Regards,
Felix Arends
[Original message clipped]
Reply to this message...
Ad
MBR BootFX
Best-of-breed application framework for .NET projects, developed by Matthew Baxter-Reynolds and MBR IT
Copyright © Matthew Baxter-Reynolds 2001-2008. '.NET 247 Software Development Services' is a trading style of MBR IT Solutions Ltd.
Contact Us
-
Terms of Use
-
Privacy Policy
-
www.dotnet247.com