如果我有两个方法 - 一个public,一个protected返回对同一个成员的引用,我得到以下编译错误:
'Server::getManager': cannot access protected member declared in class 'Server'
Run Code Online (Sandbox Code Playgroud)
当我注释掉受保护的功能时,代码可以工作.你能告诉我为什么会这样吗?为什么编译器找不到同一个成员的公共函数?
class Manager
{
};
class Server
{
public:
const Manager & getManager() const { return m_man; }
protected:
Manager & getManager() { return m_man; } // <-- after removing this method I get no compilation error
private:
Manager m_man;
};
int main()
{
Server s;
const Manager& m = s.getManager();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试用three.js绘制三角形:
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 1, 1000 );
camera.position.z = 100;
scene.add( camera );
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild( renderer.domElement );
var geom = new THREE.Geometry();
var v1 = new THREE.Vector3(0,0,0);
var v2 = new THREE.Vector3(30,0,0);
var v3 = new THREE.Vector3(30,30,0);
console.log(geom.vertices)
geom.vertices.push(new THREE.Vertex(v1));
geom.vertices.push(new THREE.Vertex(v2));
geom.vertices.push(new THREE.Vertex(v3));
geom.faces.push( new THREE.Face3( 0, 1, 2 ) );
geom.computeFaceNormals();
var mesh= new THREE.Mesh( geom, new THREE.MeshNormalMaterial() );
scene.add(mesh);
renderer.render( …Run Code Online (Sandbox Code Playgroud) 我在场景中有1个对象,并希望相对于其轴旋转它.我使用THREE.TrackballControls.但是当我的物体不在屏幕中心时,旋转不好(它相对于屏幕中心旋转).在创建控件之前,我尝试更改相机位置.但它没有用.
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, 1, 0.1, 1000);
camera.position.z = 3;
camera.position.y = 10;
controls = new THREE.TrackballControls( camera );
Run Code Online (Sandbox Code Playgroud)
是否可以在TrackballControls中指定相机旋转的中心?(因此物体将旋转不是相对中心的场景)
谢谢,振亚
如何比较批处理文件中的2个日期?这个:
if %%newdate geq %olddate% _do smth_
Run Code Online (Sandbox Code Playgroud)
不起作用.
在这种情况下,我有一个
27.05.2013是大于 15.07.2013并且
14.07.2013是小于 15.07.2013
振亚
我有Dll从磁盘读取文件并返回它的内容:
mydll.h:
extern "C" __declspec(dllexport) void InitFile3dPoints(wchar_t* i_file);
extern "C" __declspec(dllexport) int GetNumPointsForSurface(int i_surf_index);
extern "C" __declspec(dllexport) void GetPointsForSurface
(double* o_result, int i_resultLength, int i_surf_index);
Run Code Online (Sandbox Code Playgroud)
mydll.cpp:
File3dPoints file_3dPoints;
void InitFile3dPoints(wchar_t* i_file)
{ file_3dPoints = readFile3dObjectFromDisk(i_file) }
int GetNumPointsForSurface(int i_surf_index)
{ return file_3dPoints[i_surf_index].getNumPoints(); }
void GetPointsForSurface(double* o_result, int i_resultLength, int i_surf_index);
{
const int num_points = file_3dPoints[i_surf_index].getNumPoints();
if (num_points < i_resultLength)
return;
for (int i = 0; i < num_points; ++i)
o_result[i] = file_3dPoints[i_surf_index].getPoint(i);
}
Run Code Online (Sandbox Code Playgroud)
client.cs:
IntPtr inst = LoadLibrary("mydll.dll");
InitFile3dPoints(filename); …Run Code Online (Sandbox Code Playgroud) 当我打电话GetCurrentThemeName()给Windows 7 Basic风格时,我得到"C:\ windows\resources\Themes\Aero\Aero.msstyles",但是当我将其称为Windows经典风格或Windows高对比度风格时,我得到空洞的刺痛.
这是预期的吗?
如何在C++应用程序中区分Windows经典风格和Windows高对比度风格?
谢谢,振亚
如何计算3D中4点之间的MatLab相似度变换?我可以从中计算变换矩阵
T*X = Xp,
但由于点坐标误差很小,它会给我仿射矩阵.我怎样才能将该矩阵与相似矩阵相匹配?我需要类似的东西fitgeotrans,但需要3D
谢谢
matlab transformation similarity affinetransform rotational-matrices
我有ImmutableMap<String, Integer>和List<String>那定义了订单.我希望得到ImmutableList<Integer>那个订单.例如:
map (<"a", 66>, <"kk", 2>, <"m", 8>)
list ["kk", "m", "a"]
Run Code Online (Sandbox Code Playgroud)
结果我想要从给定列表中定义订单的另一个值列表:[2, 8, 66].
在java中执行此操作的最佳方法是什么?
c++ ×3
javascript ×2
three.js ×2
windows ×2
.net ×1
3d ×1
batch-file ×1
c# ×1
cmd ×1
date ×1
dll ×1
if-statement ×1
java ×1
matlab ×1
similarity ×1
winapi ×1