#include <stdio.h>
namespace name
{
class Test
{
private:
Test()
{
}
~Test()
{
}
void Run()
{
printf("run");
}
friend int main();
};
};
int main()
{
name::Test *pT = new name::Test;
pT->Run();
delete pT;
return 0;
}
----------------------------------------------------------------
这样还是不行
#include <stdio.h>
namespace name
{
class Test
{
private:
Test()
{
}
~Test()
{
}
void Run()
{
printf("run");
}
friend int ::main();
};
};
int main()
{
name::Test *pT = new name::Test;
pT->Run();
delete pT;
return 0;
}
----------------------------------------------------------------
编译通过了,链接就不行了
#include <stdio.h>
namespace name
{
class Test
{
private:
Test()
{
}
~Test()
{
}
void Run()
{
printf("run");
}
friend int main();
};
};
int name::main()
{
name::Test *pT = new name::Test;
pT->Run();
delete pT;
return 0;
}
9 个解决方案
#1
lz 还挺 ep
main 就是一个名称而已
main 就是一个名称而已
#2
但是 main 函数类型是编译器预先定义好的
只能用第三种方案,再增加一个入口main 函数
只能用第三种方案,再增加一个入口main 函数
int main()
{
name::main();
return 0;
}
#3
啥意思? 不明白
#4
额 这个方法我也想到了,感觉看着有点不自然
#5
真ep!!
#include <iostream.h>
namespace name
{
class Test
{
public:
Test()
{
}
~Test()
{
}
void Run()
{
cout<<"run";
}
friend int main();
};
};
int main()
{
name::Test *pT = new name::Test;
pT->Run();
delete pT;
return 0;
}
#6
晕。。。 定义成 public 当然是可以了
#7
这样的代码在codeblocks下自带的gcc编译运行成功,而在cygwin下编译成功,但运行时栈出错.
include <iostream>
namespace name
{
extern "C" int main() ;
class Test
{
friend int main();
private:
Test()
{
std::cout<<"run"<<std::endl;
}
~Test()
{
}
};
extern "C" int main()
{
name::Test t;
return 0;
}
#8
上面尾部少一大括号.
把main函数也放入命名空间.
此等做法,没啥大意思.
把main函数也放入命名空间.
此等做法,没啥大意思.
#9
visual studio 2008 下编译失败,gcc (MinGW) 下编译失败
#1
lz 还挺 ep
main 就是一个名称而已
main 就是一个名称而已
#2
但是 main 函数类型是编译器预先定义好的
只能用第三种方案,再增加一个入口main 函数
只能用第三种方案,再增加一个入口main 函数
int main()
{
name::main();
return 0;
}
#3
啥意思? 不明白
#4
额 这个方法我也想到了,感觉看着有点不自然
#5
真ep!!
#include <iostream.h>
namespace name
{
class Test
{
public:
Test()
{
}
~Test()
{
}
void Run()
{
cout<<"run";
}
friend int main();
};
};
int main()
{
name::Test *pT = new name::Test;
pT->Run();
delete pT;
return 0;
}
#6
晕。。。 定义成 public 当然是可以了
#7
这样的代码在codeblocks下自带的gcc编译运行成功,而在cygwin下编译成功,但运行时栈出错.
include <iostream>
namespace name
{
extern "C" int main() ;
class Test
{
friend int main();
private:
Test()
{
std::cout<<"run"<<std::endl;
}
~Test()
{
}
};
extern "C" int main()
{
name::Test t;
return 0;
}
#8
上面尾部少一大括号.
把main函数也放入命名空间.
此等做法,没啥大意思.
把main函数也放入命名空间.
此等做法,没啥大意思.
#9
visual studio 2008 下编译失败,gcc (MinGW) 下编译失败