How to run C++ on sublime text 2 on a mac?

2019-03-06 00:33发布

问题:

I tried to run hello world in C++ on sublime text 2 on my mac.

I typed

#include "iostream"

 int main()
 {
   cout<<"Hello WOrld";
   return (0);
 }

but it gives me an error

/Users/chiragchaplot/q2.cpp:5:2: error: use of undeclared identifier 'cout'; did you mean 'std::cout'?
        cout<<"Hello World";
        ^~~~
        std::cout
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iostream:50:33: note: 'std::cout' declared here
extern _LIBCPP_FUNC_VIS ostream cout;
                                ^
1 error generated.
[Finished in 0.4s with exit code 1]

回答1:

The following methods will solve your problem:


Method 1 : (BAD PRACTICE)

Adding the following line before main function.

using namespace std;

So your code will now become:

#include "iostream"

using namespace std;

int main(){
   cout << "Hello WOrld";
   return (0);
}

Method 2 : (GOOD PRACTICE)

You can simply write std::cout instead of cout.

Full code with std::cout

#include "iostream"

int main(){
   std :: cout << "Hello WOrld";
   return (0);
}

This tells the compiler that the cout identifier comes from the std namespace.


Method 2 is better than Method 1. Further reading : Why is "using namespace std" considered bad practice?


For more information on namespaces, check out the following links:

  1. Namespaces Wikipedia
  2. Interesting Q/A @cplusplus.com
  3. Interesting Q/A @devshed.com
  4. Tutorials Point