diff --git a/Frequently-asked-Questions-for-using-Raylib-with-C--.md b/Frequently-asked-Questions-for-using-Raylib-with-C--.md new file mode 100644 index 0000000..50879fd --- /dev/null +++ b/Frequently-asked-Questions-for-using-Raylib-with-C--.md @@ -0,0 +1,14 @@ +This page will go over some of the common questions new users of Raylib have when using C++. + +* How do I use Raylib with C++? +Raylib works with C++ in the exact same way it does with the C language. You can use Raylib from C++ with no special modifications or build steps. Simply include Raylib for your compiler and platform in the exact same way you do for C. Raylib is fully compatible with both C and C++. + +* Do I have to use Raylib-CPP to use Raylib with C++? +No, Raylib-CPP is not required to use Raylib with C++. Raylib-CPP is an optional wrapper that sits on top of the regular C Raylib in order to provide object oriented access to Raylib. Raylib-cpp still calls the same C Raylib in the end. + +* I Get an error on code like this when building an example in C++ `(Vector3){1.0f,2.0f,3.0f}`. How Can I fix it? +This type of structure initialization `(Vector3){1.0f,2.0f,3.0f}` is called a compound literal and is not supported by C++. Some C++ compilers are strict and will not allow it. This code can be converted to brace initialization in C++ by simply removing the parentheses around the type. Changing the code to `Vector3{1.0f,2.0f,3.0f}` will fix the error. This change needs to be made for code that is pulled from the Raylib C examples. + +* DrawText takes a const char*, but I have a std::string, how can I draw my string? +std::string has a method named c_str(), this will return the const char* stored in the string, use it as the argument for any C function that takes a const char*. +`DrawText(my_string.c_str(),0,0,20,RED);`